Meu cliente está executando o Tomcat 5.5 e está usando SSL. Seu certificado está prestes a expirar e eles compraram uma renovação. Recebi um arquivo .cer e pedi para atualizar o Tomcat.
O server.xml existente continha o seguinte conector:
<Connector port="443" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="companyname.keystore" keyAlias="tomcat2" />
Eu corri %JAVA_HOME%\bin\keytool -list -keystore companyname.keystore
Keystore type: jks
Keystore provider: SUN
Your keystore contains 3 entries
root, Aug 7, 2007, trustedCertEntry,
Certificate fingerprint (MD5): 8F:5D:77:06:27:C4:98:3C:5B:93:78:E7:D7:7D:9B:CC
tomcat, Jun 12, 2007, keyEntry,
Certificate fingerprint (MD5): 33:80:6F:75:5A:B4:BC:C7:7A:7D:4F:3F:FA:C0:95:2F
tomcat2, Jun 14, 2008, keyEntry,
Certificate fingerprint (MD5): 0A:9B:73:6A:EE:2F:18:99:61:49:28:F3:CD:1E:DF:96
O SSL ainda funciona se eu excluir a entrada com o alias "tomcat". Estou assumindo que é um artefato de um certificado expirado anterior.
% JAVA_HOME% \ bin \ keytool -import -keystore companyname.keystore -alias tomcat3 -arquivo 2009cert.cer
Eu atualizei o server.xml para definir o keyAlias como tomcat3. Quando eu reinicio o Tomcat, vejo isso no log:
SEVERE: Error initializing endpoint
java.io.IOException: Alias name tomcat3 does not identify a key entry
at org.apache.tomcat.util.net.jsse.JSSE14SocketFactory.getKeyManagers(JSSE14SocketFactory.java:143)
(etc.)
Quando eu executo novamente o comando keytool -list:
Keystore type: jks
Keystore provider: SUN
Your keystore contains 4 entries
root, Aug 7, 2007, trustedCertEntry,
Certificate fingerprint (MD5): 8F:5D:77:06:27:C4:98:3C:5B:93:78:E7:D7:7D:9B:CC
tomcat, Jun 12, 2007, keyEntry,
Certificate fingerprint (MD5): 33:80:6F:75:5A:B4:BC:C7:7A:7D:4F:3F:FA:C0:95:2F
tomcat3, Jul 21, 2009, trustedCertEntry,
Certificate fingerprint (MD5): 8E:9F:F9:52:7B:07:B1:DB:BF:F3:96:BD:5F:49:2E:9F
tomcat2, Jun 14, 2008, keyEntry,
Certificate fingerprint (MD5): 0A:9B:73:6A:EE:2F:18:99:61:49:28:F3:CD:1E:DF:96
Isso tem algo a ver com a entrada tomcat3 sendo marcada como "trustedCertEntry" em vez de "keyEntry"?
O que estou fazendo de errado?