Il file keystore (server.jks), il mio file di chiave privata?

3

Il mio compito è convertire .p7b in .pfx . Sarebbe fantastico, se potessi fornirmi alcuni suggerimenti.

Di seguito sono riportati i passaggi che ho utilizzato per generare il file .p7b :

  1. Ho generato un file .jks (java keystore) utilizzando il comando di sotto

    C:\Program Files\Java\jdk1.6.0_33\bin>keytool -genkey -alias serverkey -keyalg RSA -keystore C:\server\production\ssl\Server.jks -keysize 2048
    
  2. Dal file keystore ho creato un CSR usando il seguente comando

    keytool -certreq -alias serverkey -file ServerCSR.csr -keystore Server.jks
    
  3. Ho fornito questo file .CSR a un'autorità di certificazione CA locale. Essi mi ha fornito il certificato in formato .p7b

Ho due domande:

  1. E come possiamo convertire .p7b file in .pfx format?
  2. Il file keystore ( server.jks ), il mio file di chiave privata a cui viene chiesto di effettuare la conversione su vari link disponibili su google?
posta Praful Sonarkar 30.06.2014 - 14:37
fonte

1 risposta

1

Sì, hai fatto keytool genkey nel file server.jks in modo che il file contenga la tua chiave privata. Quello che devi fare è, innanzitutto, aggiungere il tuo cert (catena) al JKS, quindi convertire il JKS in "PFX". Il p7b di per sé non contiene informazioni sufficienti.

Il .p7b della CA contiene il certificato per il tuo server e potrebbe contenere altri certificati "a catena" o "intermedi" da cui dipende il certificato del server. Tu dici che questo certificato proviene da una "CA locale"; la CA stessa è delegata da una nota CA "root" come Verisign? In caso contrario, se la CA locale ha la propria radice, quella radice è già stata aggiunta al file cacerts e / o jssecacerts nella tua JAVA_HOME/lib/security ? (Se tu o altri utenti del vostro sistema avete interagito con i sistemi che usano questa CA e ha una radice privata, probabilmente avete già bisogno di aggiungerla a un truststore, ma non necessariamente quella standard.)

SE la catena fornita dalla CA utilizza una radice che è già presente in cacerts distribuita da Java come Verisign o è stata aggiunta a cacerts sul sistema specifico, eseguire

keytool -keystore server.jks -alias serverkey -import -file whatever.p7b -trustcacerts 

La risposta dovrebbe essere "La risposta del certificato è stata installata nel keystore". Se viene visualizzato il messaggio "Il certificato è stato aggiunto al keystore", si tratta di un errore, anche se non lo dice. Quindi converti in PKCS # 12, che è l'attuale standard Microsoft e altre persone chiamano PFX, come una riga ma interrotta per la pubblicazione:

keytool -importkeystore -srckeystore server.jks -destkeystore server.pfx 
-deststoretype pkcs12 -srcalias serverkey 

Sul primo passaggio, se la radice (o l'ancora) necessaria non è in cacerts (ben noto o già aggiunto) ma almeno un certificato CA è nel p7b, keytool visualizzerà informazioni sul certificato "top-level" e chiedi Install reply anyway? ; rispondi semplicemente "si". Se qualcosa di più complicato è sbagliato, dai dettagli.

    
risposta data 01.07.2014 - 12:21
fonte

Leggi altre domande sui tag