come importare una chiave privata in windows

30

Dire che ho un certificato X.509 e una chiave privata che corrisponde ad esso. Posso importare facilmente X.509 certs in Windows ma per quanto riguarda le chiavi private?

È l'unico modo in cui posso farlo convertendo sia il certificato che la chiave privata in un file "Personal Information Exchange (PKCS # 12)" e importandolo?

Forse questa domanda sarebbe meglio su superuser.com? In ogni caso, grazie!

    
posta neubert 26.12.2012 - 16:18
fonte

4 risposte

28

La risposta alla tua domanda è . Devi convertire X.509 in un PFX e importarlo. Non esiste un archivio chiavi separato in Windows.

È possibile convertire il certificato tramite OpenSSL con il seguente comando:

openssl pkcs12 -export -out cert.pfx -inkey private.key -in cert.crt -certfile CACert.crt

    
risposta data 26.12.2012 - 21:38
fonte
6

In Windows, puoi avere chiavi private "da sole". A livello di codice, utilizzi CryptAquireContext() per accedere a una chiave "per nome". CryptoAPI contiene molte funzioni che ti consentono di importare e utilizzare le chiavi, indipendentemente dai certificati.

Tuttavia, non esiste un'interfaccia grafica o un formato file esistente per la gestione delle chiavi private e le applicazioni non usano le chiavi per nome. Usano certificati . I certificati, in Windows, sono archiviati "altrove", ma ogni certificato nell'archivio "Il mio" può facoltativamente contenere un collegamento a una chiave privata corrispondente (il collegamento sarebbe in realtà un nome CSP e il nome di un contenitore all'interno di tale CSP). Ciò corrisponde a ciò che è previsto in vari protocolli. Ad esempio, in SSL, quando il server richiede un'autenticazione client con una chiave privata, richiede effettivamente un certificato: il client deve presentare un certificato e, solo allora, dimostrare di avere anche accesso alla chiave privata corrispondente.

Quindi, in pratica, i certificati e le chiavi "convivono" e le chiavi vengono raggiunte solo tramite certificati. Un certificato e la sua chiave privata viaggiano insieme, e questo significa un file PKCS # 12 (conosciuto anche come "PFX").

    
risposta data 27.12.2012 - 19:32
fonte
0

Un PKCS12 (* .p12 o * .pfx) è assolutamente il modo facile. Ci sono parecchi strumenti comuni là fuori per combinare una coppia di chiavi e un certificato in una p12. Il mio preferito è OpenSSL, dal momento che funziona su tutti i sistemi operativi che ho sempre avuto bisogno di usarlo ed è ragionevolmente conforme agli standard. Qui 'una raccolta diversificata di pagine su come, anche se il chilometraggio varierà in base a come coppia di chiavi e certificato sono attualmente memorizzati.

Inoltre, la maggior parte dei dispositivi con funzionalità di esportazione offrirà un'opzione di generazione PKCS12 se le impostazioni consentono l'esportazione delle chiavi, più o meno lo standard per la maggior parte delle applicazioni abilitate per PKI, e pochi casi in cui questa non è la norma (ad esempio Java ), di solito c'è ancora una conversione o una capacità di esportazione.

Una nota: se si dispone di un caso in cui la chiave si trova su un token o modulo hardware, è comunque possibile fare riferimento da Microsoft Cert Store: è sufficiente importare il certificato e indicare a Microsoft dove è memorizzata la chiave. .. per fare questo, è necessario seguire le istruzioni del dispositivo per l'aggiornamento dell'archivio certificati.

    
risposta data 31.12.2012 - 20:50
fonte
-4

Le coppie di chiavi Pub / Priv devono essere importate in Windows utilizzando un PKCS12 (.p12 / pfx) quando lo si utilizza come certificato client. Questo è tutto ciò che c'è qui ...

Se lo stai importando in IIS è un po 'diverso, ma non sembra quello che stai facendo. Solo nel caso in cui IIS richieda un formato leggermente diverso rispetto a X.509 per i suoi certificati; richiede un PKCS7 invece del generico X.509 perché PKCS7 include i certificati firmatari, mentre X.509 ha solo il certificato individuale che è stato firmato. Ciò differisce dall'implementazione tipica di Apache in cui i certificati firmatari sono inclusi in un gruppo di certificati [trusted].

    
risposta data 26.12.2012 - 17:27
fonte

Leggi altre domande sui tag