2013-04-26 27 views
10

Ho bisogno di aiuto per convertire il mio file di certificato .P12 in un keystore JKS. Ho seguito i comandi standard utilizzando l'utilità keytool di Java. Tuttavia, quando provo a utilizzare il file JKS risultante per accedere all'endpoint WS tramite SOAPUI, viene visualizzato un errore 403.7: Vietato: è richiesto il certificato SSL. L'utilizzo del file P12 con SOAPUI rispetto allo stesso endpoint produce una risposta positiva. Ecco il comando standard per l'importazione di un archivio chiavi P12 in un archivio chiavi JKS -Serve aiuto per convertire il certificato P12 in JKS

keytool -importkeystore -srckeystore src.p12 -srcstoretype PKCS12 -deststoretype JKS -destkeystore target.jks 

Ho anche provato ad utilizzare OpenSSL per convertire il P12 -> PEM -> DER -> JKS:

openssl pkcs12 -in src.p12 -out src.pem -clcerts 

(Modifica src.pem nelle sue due parti in composito chiamato src.key e src.cer)

openssl pkcs8 -topk8 -nocrypt -in src.key -out key.der -inform PEM -outform DER 
openssl x509 -in src.cer -inform PEM -out cert.der -outform DER 

(ho eseguito un programma di utilità di combinare i due tasti in keystore.ImportKey)

keytool -importkeystore -srckeystore keystore.ImportKey -destkeystore target.JKS 

e similmente nessun dado.

C'è qualcosa che mi manca?

risposta

0

Sono sorpreso perché nessuno ha risposto a questa domanda per così tanto tempo. Ad ogni modo il metodo più semplice per convertire da p12 a jks è usando Keytool. Di seguito è riportato il comando che si potrebbe essere necessario utilizzare:

keytool -importkeystore -srckeystore mystore.jck -destkeystore myotherstore.jks -srcstoretype jceks 
-deststoretype jks -srcstorepass mystorepass -deststorepass myotherstorepass -srcalias myserverkey 
-destalias myotherserverkey -srckeypass mykeypass -destkeypass myotherkeypass 

Credo che i problemi che si trovano ad affrontare sono probabilmente perché non hai fornito keypass. Si prega di notare che è una buona pratica per mantenere il keypass e lo storepass come lo stesso, poiché a volte il server non è in grado di distinguere tra keypass e storepass.

0

Ma ha chiesto come convertire p12 a JKS, quindi la risposta è:

keytool -importkeystore -srckeystore mystore.p12 -destkeystore myotherstore.jks -srcstoretype PKCS12 -deststoretype jks -srcstorepass mystorepass -deststorepass myotherstorepass -srcalias myserverkey -destalias myotherserverkey -srckeypass mykeypass -destkeypass myotherkeypass 

appena avuto a utilizzare questa linea, funziona per me.

4

Se avete applicazione Keytool e il file PKCS # 12, lanciare il comando di una sola riga:

keytool -importkeystore -srckeystore [MY_FILE.p12] -srcstoretype pkcs12 
-srcalias [ALIAS_SRC] -destkeystore [MY_KEYSTORE.jks] 
-deststoretype jks -deststorepass [PASSWORD_JKS] -destalias [ALIAS_DEST] 

avrete bisogno di modificare questi parametri:

  • MY_FILE.p12: indicare il percorso del file PKCS # 12 (estensione .p12 o .pfx) da convertire.
  • MY_KEYSTORE.jks: percorso al keystore in cui si desidera memorizzare il certificato. Se non esiste verrà creato automaticamente.
  • PASSWORD_JKS: password che verrà richiesta all'apertura del keystore.
  • ALIAS_SRC: nome corrispondente alla voce del certificato nel file PKCS # 12, "tomcat" ad esempio.

Se si desidera esportare il certificato da un server Windows che genera un file .PFX, sarà necessario recuperare il nome "alias" creato da Windows.Per fare ciò, è possibile eseguire il seguente comando:

keytool -v -list -storetype pkcs12 -keystore FILE_PFX 

Lì, il "nome alias" campo indica il nome di archiviazione del certificato è necessario utilizzare nella riga di comando.

  • ALIAS_DEST: nome che corrisponde alla voce del certificato nel keystore JKS, ad esempio "tomcat".