JDK-8243549 : sun/security/ssl/CipherSuite/NamedGroupsWithCipherSuite.java failed with Unsupported signature algorithm: DSA
  • Type: Bug
  • Component: security-libs
  • Sub-Component: javax.net.ssl
  • Affected Version: 11,15
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2020-04-24
  • Updated: 2020-11-09
  • Resolved: 2020-04-24
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 11 JDK 15
11.0.10-oracleFixed 15 b21Fixed
Related Reports
Duplicate :  
Duplicate :  
Relates :  
Relates :  
Description
NamedGroup: ffDhe2048
Protocol: TLSv1.3, cipher suite: TLS_AES_128_GCM_SHA256
Protocol: TLSv1.3, cipher suite: TLS_AES_256_GCM_SHA384
Protocol: TLSv1.3, cipher suite: TLS_CHACHA20_POLY1305_SHA256
Protocol: TLSv1.2, cipher suite: TLS_DHE_DSS_WITH_AES_128_CBC_SHA
Protocol: TLSv1.2, cipher suite: TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
Protocol: TLSv1.2, cipher suite: TLS_DHE_RSA_WITH_AES_128_CBC_SHA
Protocol: TLSv1.2, cipher suite: TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
Protocol: TLSv1.2, cipher suite: TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256
Protocol: TLSv1.1, cipher suite: TLS_DHE_DSS_WITH_AES_128_CBC_SHA
Client died: javax.net.ssl.SSLException: Received fatal alert: internal_error
javax.net.ssl.SSLException: Received fatal alert: internal_error
	at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:133)
	at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:117)
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:312)
	at java.base/sun.security.ssl.Alert$AlertConsumer.consume(Alert.java:293)
	at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:185)
	at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:171)
	at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1474)
	at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1380)
	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:437)
	at java.base/sun.security.ssl.SSLSocketImpl.ensureNegotiated(SSLSocketImpl.java:880)
	at java.base/sun.security.ssl.SSLSocketImpl$AppOutputStream.write(SSLSocketImpl.java:1250)
	at java.base/sun.security.ssl.SSLSocketImpl$AppOutputStream.write(SSLSocketImpl.java:1222)
	at SSLSocketTemplate.runClientApplication(SSLSocketTemplate.java:112)
	at SSLSocketTemplate.doClientSide(SSLSocketTemplate.java:359)
	at SSLSocketTemplate$2.run(SSLSocketTemplate.java:598)
Server failed: javax.net.ssl.SSLException: Unsupported signature algorithm: DSA
javax.net.ssl.SSLException: Unsupported signature algorithm: DSA
	at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:133)
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:325)
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:268)
	at java.base/sun.security.ssl.DHServerKeyExchange$DHServerKeyExchangeMessage.<init>(DHServerKeyExchange.java:152)
	at java.base/sun.security.ssl.DHServerKeyExchange$DHServerKeyExchangeProducer.produce(DHServerKeyExchange.java:481)
	at java.base/sun.security.ssl.ClientHello$T12ClientHelloConsumer.consume(ClientHello.java:1120)
	at java.base/sun.security.ssl.ClientHello$ClientHelloConsumer.onClientHello(ClientHello.java:853)
	at java.base/sun.security.ssl.ClientHello$ClientHelloConsumer.consume(ClientHello.java:812)
	at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:396)
	at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:445)
	at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:423)
	at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:182)
	at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:171)
	at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1474)
	at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1380)
	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:437)
	at java.base/sun.security.ssl.SSLSocketImpl.ensureNegotiated(SSLSocketImpl.java:880)
	at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:971)
	at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:931)
	at SSLSocketTemplate.runServerApplication(SSLSocketTemplate.java:94)
	at SSLSocketTemplate.doServerSide(SSLSocketTemplate.java:280)
	at SSLSocketTemplate.startServer(SSLSocketTemplate.java:584)
	at SSLSocketTemplate.bootup(SSLSocketTemplate.java:498)
	at SSLSocketTemplate.run(SSLSocketTemplate.java:83)
	at NamedGroupsWithCipherSuite.main(NamedGroupsWithCipherSuite.java:154)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
	at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
	at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.security.InvalidKeyException: The security strength of SHA-1 digest algorithm is not sufficient for this key size
	at java.base/sun.security.provider.DSA.checkKey(DSA.java:124)
	at java.base/sun.security.provider.DSA.engineInitSign(DSA.java:156)
	at java.base/java.security.Signature$Delegate.tryOperation(Signature.java:1307)
	at java.base/java.security.Signature$Delegate.chooseProvider(Signature.java:1256)
	at java.base/java.security.Signature$Delegate.engineInitSign(Signature.java:1353)
	at java.base/java.security.Signature.initSign(Signature.java:635)
	at java.base/sun.security.ssl.DHServerKeyExchange$DHServerKeyExchangeMessage.getSignature(DHServerKeyExchange.java:435)
	at java.base/sun.security.ssl.DHServerKeyExchange$DHServerKeyExchangeMessage.<init>(DHServerKeyExchange.java:148)
	... 27 more
Comments
Fix request (11u) -- will label after testing completed. I would like to downport this for parity with 11.0.10-oracle.
01-10-2020

URL: https://hg.openjdk.java.net/jdk/jdk/rev/04e3d254c76b User: jjiang Date: 2020-04-24 21:18:28 +0000
24-04-2020

It should not use TLS_DHE_DSS_WITH_AES_128_CBC_SHA over TLSv1 and TLSv1.1 with SHA256withDSA certificate. See JDK-8242928 for more details.
24-04-2020