环境: Java版1.8.0_171
状况:
使用DSA 1024创建证书(感谢您参考OpenSSL generate different types of self signed certificate)。 已启用SSL,我的网站可通过https。
获取TASK: 我想启用/禁用DSA 1024的网站可用性。
ACTION:
1.使用DSA 1024处理过的证书。
openssl dsaparam -genkey 1024 -out dsakey.pem
openssl req -x509 -new -key dsakey.pem -out dsacert.crt
2.Generated Keystore
keytool -genkeypair -alias sportal -keyalg DSA -keysize 1024 -keystore keystore.jks
3.Created Certificate Request
keytool -certreq -v -alias sportal -file csr-for-myserver.pem -keystore keystore.jks
4.使用ROOT CA签署证书申请
openssl x509 -req -in csr-for-myserver.pem -CA dsacert.crt -CAkey dsakey.pem -CAcreateserial -out signed-cert.pem
5。将签名证书导入密钥库
keytool -import -v -noprompt -trustcacerts -alias cacert -file signed-cert.pem -keystore keystore.jks
6。修改了java.security中的jdk.certpath.disabledAlgorithms
a。修改后的jdk.certpath.disabledAlgorithms=DSA keySize < 1024
然后从浏览器中调用网站 - &gt;网站不可用。
b。修改后的jdk.certpath.disabledAlgorithms=DSA
然后从浏览器中调用网站 - &gt;网站不可用。
c。修改jdk.certpath.disabledAlgorithms=
然后从浏览器调用网站 - &gt;网站不可用。
结果:
Caused by: javax.net.ssl.SSLHandshakeException: no cipher suites in common
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1666)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:330)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:318)
at sun.security.ssl.ServerHandshaker.chooseCipherSuite(ServerHandshaker.java:1115)
at sun.security.ssl.ServerHandshaker.clientHello(ServerHandshaker.java:807)
at sun.security.ssl.ServerHandshaker.processMessage(ServerHandshaker.java:228)
at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1052)
at sun.security.ssl.Handshaker$1.run(Handshaker.java:992)
at sun.security.ssl.Handshaker$1.run(Handshaker.java:989)
at java.security.AccessController.doPrivileged(Native Method)
at sun.security.ssl.Handshaker$DelegatedTask.run(Handshaker.java:1467)
at org.apache.tomcat.util.net.SecureNioChannel.tasks(SecureNioChannel.java:407)
at org.apache.tomcat.util.net.SecureNioChannel.handshakeUnwrap(SecureNioChannel.java:467)
at org.apache.tomcat.util.net.SecureNioChannel.handshake(SecureNioChannel.java:232)
... 6 common frames omitted
问题:
为什么:)?