2017-09-15 2 views
0

Ich versuche, den Schlüsselspeicher zu konfigurieren, nachdem ich die CA erhalten habe. Ich habe eine Zwischenzertifizierungsstelle und die CA erhalten. Ich habe sie importiert mit diesemTOMCAT 6 SSL Fehler: Alias-Name identifiziert keinen Schlüsseleintrag

keytool -delete -alias tomcat -keystore B1i.keystore 

keytool -import -alias root -keystore ".\B1iXcellerator\B1i.keystore" -trustcacerts -file ".\B1iXcellerator\int.crt" 

keytool -import -alias tomcat -keystore ".\B1iXcellerator\B1i.keystore" -trustcacerts -file ".\B1iXcellerator\ssmobile2.crt" 

Ihre Zugriffsschlüssel-Datei enthält 2 Einträge

Wurzel, 14-September-2017, trustedCertEntry, Empreinte du certificat (SHA1) Befehle: 55:83: E3: E1: A7: 51: 17: 21: 1 E: AF: C8: 5E: D1: 15: BB: C1 : AC: 96: 9D: B5

tomcat, 14-September-2017 , trustedCertEntry, Empreinte du Zertifikat (SHA1): DF: 1C: D4: 79: 02: D5: 59: D2: 94: 1D: DE: D5: 73: 99: 2D: 1A : 25: 09: BC: 49

Und in der server.xml ich änderte sich dies:

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

Aber ich erhalte die Störung LifecycleException: service.getName() : "Catalina"; Protocol handler start failed: java.io.IOException: Aliasname tomcat identifiziert keinen Schlüsseleintrag

Was mache ich falsch?

Antwort

2
keytool -delete -alias tomcat -keystore B1i.keystore 

Sie gelöscht wahrscheinlich Ihren privaten Schlüssel zu diesem Schritt. Sie sollten diesen Schritt weggelassen haben und die tomcat in den nächsten Schritten verwendet haben: siehe unten.

keytool -import -alias root -keystore ".\B1iXcellerator\B1i.keystore" -trustcacerts -file ".\B1iXcellerator\int.crt" 
keytool -import -alias tomcat -keystore ".\B1iXcellerator\B1i.keystore" -trustcacerts -file ".\B1iXcellerator\ssmobile2.crt" 

Diese Schritte haben nicht die gewünschte Wirkung, wenn es bereits ‚root‘ ein privater Schlüssel Eintrag mit alias war.

Sie müssen wahrscheinlich erneut beginnen, ein neues Schlüsselpaar erstellen, eine neue CSR, die neu signiert wird. Dieses Mal, importieren Sie die signierten Zertifikate ohne die -trustcacerts Option, den gleichen Alias ​​wie das Schlüsselpaar verwendet wird, und importieren Sie die Root-Zertifikate mit-trustcacerts und einem anderen Alias ​​(Danke @ dave_thompson_085).

Und löschen Sie keine Dinge, wenn Sie nicht wissen, was sie sind.

+1

int.crt ist vermutlich ein Zwischenprodukt, das als trustecert importiert wird, also sollte _its_ alias 'root' nicht existieren; Es ist der Alias, der für das (neue) Blatt-Zertifikat verwendet wird, hier 'Tomcat', das existieren muss und den privaten Schlüssel enthalten muss. –

+0

Also fordere ich ein neues Zertifikat an und ich mache einfach das Keytool -import -alias tomcat -keystore ". \ B1iXcellerator \ B1i.keystore" -trustcacerts -datei ". \ B1iXcellerator \ int.crt" keytool -import -alias tomcat - Schlüsselspeicher ". \ B1iXcellerator \ B1i.keystore" -trustcacerts-Datei ". \ B1iXcellerator \ ssmobile2.crt"? Wie funktioniert es, woher wissen sie, welches das Zwischenprodukt und die CA ist? – Natalia

+0

Ich habe getan, wie Sie sagten, aber ich bekomme den folgenden Fehler: keytool Fehler: java.lang.Exception: Öffentliche Schlüssel in der Antwort und Keystore nicht übereinstimmen, wenn Sie versuchen, das Zwischenzertifikat – Natalia