如何在JDK中启用/禁用DSA?

时间:2018-05-18 19:23:15

标签: java security ssl

环境: 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

问题:

为什么:)?

0 个答案:

没有答案