我从certum.pl购买了SSL证书,使用SSL和https在tomcat 7上运行java(jdk 1.8)Web应用程序。
我使用keytool创建了jks文件:
keytool -importcert -file "certificate.cer" -keystore "file.jks" -alias "mycert" -keyalg RSA -keysize 2048
我的tomcat配置:
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on"/>
<Connector executor="tomcatThreadPool"
port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443"/>
<Connector
protocol="org.apache.coyote.http11.Http11Protocol"
port="443"
maxThreads="200"
connectionUploadTimeout="36000000"
disableUploadTimeout="false"
connectionTimeout="60000"
scheme="https"
secure="true"
SSLEnabled="true"
keystoreFile="${catalina.home}/conf/file.jks"
keystorePass="pass"
clientAuth="false"
sslProtocol="TLS"
maxPostSize="52428800"
ciphers="TLS_RSA_WITH_AES_128_CBC_SHA256,
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
TLS_RSA_WITH_AES_128_CBC_SHA256,
TLS_RSA_WITH_AES_128_CBC_SHA,
TLS_RSA_WITH_AES_256_CBC_SHA256,
TLS_RSA_WITH_AES_256_CBC_SHA"
/>
在firefox中调用https://mywebsite/
时,它会抛出'ssl_error_no_cypher_overlap',并且在chrome中也会抛出'ERR_SSL_VERSION_OR_CIPHER_MISMATCH'。
注意:它适用于自签名密钥库,但当我使用经过验证的证书时,它无效。
我在这个问题上苦苦挣扎了2天:(
任何帮助都将提前得到赞赏。