2010-04-09 15 views
7

Sto provando a configurare un server Tomcat con SSL. Ho generato una coppia di chiavi così:Importazione dei certificati di prova Thawte in un keystore Java

$ keytool -genkeypair -alias tomcat -keyalg RSA -keystore keys 

Poi ho generare una richiesta di firma del certificato:

$ keytool -certreq -keyalg RSA -alias tomcat -keystore keys -file tomcat.csr 

Poi ho copiare-incollare il contenuto di tomcat.csr in un modulo sul sito web di Thawte, chiedendo per una prova Certificato SSL In cambio ottengo due certificati delimitati con -----BEGIN ... -----END, che salvo sotto tomcat.crt e thawte.crt. (Thawte chiama il secondo certificato un certificato 'Thawte Test CA Root').

Quando provo ad importare uno di loro non riesce:

$ keytool -importcert -alias tomcat -file tomcat.crt -keystore keys 
Enter keystore password: 
keytool error: java.lang.Exception: Failed to establish chain from reply 

$ keytool -importcert -alias thawte -file thawtetest.crt -keystore keys 
Enter keystore password: 
keytool error: java.lang.Exception: Input not an X.509 certificate 

Aggiunta l'opzione -trustcacerts a uno di questi comandi non cambia nulla.

Qualche idea su cosa sto facendo male qui?

risposta

14

Ho finalmente capito cosa stava succedendo qui. Risulta che le risposte che ho ricevuto da Thawte sono formattate come PKCS # 7, mentre keytool si aspetta certificata nel formato X.509.

openssl può essere utilizzato per convertire i certificati da un formato ad un altro:

$ openssl pkcs7 -in thawtetest.crt -print_certs | 
    openssl x509 > thawtetest.x509 

Ora è possibile importare thawtetest.x509 con keytool, e tomcat.crt proprio dietro di esso.

+0

Grazie ... si potrebbe pensare che avrebbero menzionato questo nella e-mail ... Dal momento che quella intermedia (anche nella e-mail) è X509! –

0

Si dovrebbe essere in grado di importare PKCS # 7 catene utilizzando keytool, fino a quando si sta utilizzando una versione più recente. Anche l'esportazione dei certs in file distinti funzionerà, ma se stai utilizzando una versione recente di keytool non ci dovrebbero essere problemi nell'importazione del file PKCS # 7 stesso.

0

aver corso nello stesso problema che ho trovato this post che mi ha aiutato. Ho inserito i certificati di prova che ho ricevuto in un singolo file e ho usato keytool per importare rendendo sicuro che l'ALIAS (keytool -alias param) che ho usato fosse diverso (cioè non lo stesso alias che ho usato durante la creazione dei certificati per la richiesta). È un bizzarro messaggio di errore dato che semplicemente non gli piace che tu stia cercando di importare lo stesso alias.

Problemi correlati