2012-01-10 4 views
20

Sto tentando di configurare Tomcat 6 utilizzando SSL con un certificato fornito a noi (da qualcuno). La mia esperienza SSL dura solo pochi giorni, ma devo ancora configurare la cosa maledetta.Errore TOMCAT SSL: il nome alias non identifica una voce chiave

Mi è stato fornito un certificato (scaricato da Internet Explorer) in formato DER.

Poi ho creato un archivio di chiavi:

 
keytool -import -alias btIEgen -file MyCompany.der -keystore b2b.keystore 

dire che ho usato "password" per la password

ho configurato questo server.xml di Tomcat nella sezione SSL:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" 
    maxThreads="150" scheme="https" secure="true" 
    keystoreFile="webapps/b2b.keystore" keystorePass="password" keyAlias="btIEgen" 
    clientAuth="false" sslProtocol="TLS" /> 

Upon a partire da Tomcat ottengo l'errore maledetto.

Ho quindi eseguito un keytool -list su b2b.keystore e ho notato che l'alias è in minuscolo, quindi dopo aver aggiornato server.xml e riavviato, ho ancora lo stesso errore, ma per l'alias minuscolo.

Quindi ho pensato che forse ho bisogno di una CA principale. Così ho ricreato il b2b.keystore come segue:

 
keytool -import -alias root -file myCA.cer -keystore b2b.keystore 

Poi ho rieseguito il mio comando keytool contro MyCompany.der

Ma ho ancora ottenere lo stesso errore, che l'alias non identifica una voce chiave .

Mi chiedo se sto facendo qualche errore fondamentale nella configurazione di tomcat, o se questa cosa dovesse funzionare e sto solo facendo uno stupido errore incurante?

Qualsiasi consiglio sarebbe molto apprezzato.

risposta

25

Ciò di cui Tomcat ha bisogno è il certificato e la sua chiave privata. Il certificato è un'informazione pubblica che qualsiasi utente può vedere, ma la chiave privata dovrebbe essere solo la tua: questo è ciò che impedisce ad altri di eseguire un sito Web con il tuo certificato. Importando MyCompany.der, stai solo importando il certificato.

Dovresti trovare la prima chiave privata. (Di norma, anche la persona che ha rilasciato il certificato non deve conoscere la sua chiave privata.)

La chiave privata potrebbe essere stata generata nel browser durante la procedura di richiesta del certificato. Prova a vedere se riesci ad esportare nel formato .p12/.pfx (PKCS # 12): questo dovrebbe raggruppare anche la chiave privata se è lì. In tal caso, dovresti essere in grado di utilizzare direttamente il file risultante come keystore utilizzando il tipo di negozio PKCS12: keystoreFile="store.pfx" keystorePass="password" keystoreType="PKCS12" (probabilmente non avrai bisogno di un alias chiave, poiché ci sarà solo una voce chiave).

+0

Ha funzionato come un fascino! Ho copiato il certificato nella directory TOMCAT_HOME e modificato server.xml come segue: udeleng

+2

Grazie amico, ha avuto lo stesso problema. Il certificato .pfx ha cambiato tutto :-) – Tony

+2

Rimozione della chiave La linea di Alias ​​è stata la soluzione per me. La persona responsabile dei nostri certificati non ha specificato un alias per la coppia chiave-cert come è stato fatto in passato. – Banjer