Я купил сертификат SSL от Comodo для своего домена. Comodo предоставил мне следующие файлы:
- SSL_PrivateKEY_ www_my-domain_com.txt
- SSL_CSR_ www_my-domain_com.txt
- AddTrustExternalCA Root .crt
- USERTrustRSAAddTrustCA.crt
- SectigoRSADomainValidationSecureServerCA.crt
- www_my-domain_com.crt
После исследования я обнаружил, что Шаги для создания хранилища ключей .jks с использованием .key и .crt файлы ... , я использую файлы 3,4 и 5 crt и создаю cert.pem, затем я использую 1 crt для создания key.pem. После этого я создаю JKS, как говорит гид. Затем я импортирую файл 6 crt в хранилище ключей, например:
keytool -import -alias mykey -file www_my-domain_com.crt -keystore www_my-domain_com.jks
После этого я использую проводник хранилища ключей для преобразования моего хранилища ключей в PKCS12. Наконец, я загружаю файл на свой сервер, и вот мой tomcat 8, разъем:
<Connector port="9443" maxHttpHeaderSize="8192" maxThreads="100"
minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
protocol="org.apache.coyote.http11.Http11Protocol"
SSLEnabled="true" clientAuth="false"
keyAlias="server" sslProtocol="TLS" sslEnabledProtocols="TLSv1.2,TLSv1.1,TLSv1"
keystoreFile="/home/test/ssls/www_my-domain_com.jks"
keystorePass="password" />
Перезапускаю свой tomcat и затем ошибку, которую я получаю при firefox
Код ошибки: SEC_ERROR_BAD_SIGNATURE
Я также использую проводник хранилища ключей, чтобы проверить ssl, и отображается сообщение об ошибке:
javax.net.ssl.SSLKeyException: Invalid signature on ECDH server key exchange message
at sun.security.ssl.HandshakeMessage$ECDH_ServerKeyExchange.<init>(Unknown Source)
at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source)
at sun.security.ssl.Handshaker.processLoop(Unknown Source)
at sun.security.ssl.Handshaker.process_record(Unknown Source)
at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(Unknown Source)
at org.kse.utilities.ssl.SslUtils.readSSLConnectionInfos(SslUtils.java:116)
at org.kse.gui.dialogs.DExaminingSsl$ExamineSsl.run(DExaminingSsl.java:207)
at java.lang.Thread.run(Unknown Source)