[ 
https://issues.apache.org/jira/browse/CASSANDRA-21441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18087713#comment-18087713
 ] 

Dmitry Konstantinov commented on CASSANDRA-21441:
-------------------------------------------------

Changes in keystores:

h2. SSL Test Certificate Regeneration — Before/After Comparison

Certificates in {{test/conf/}} were regenerated to fix TLS handshake failures 
on JDK builds where
{{TLS_RSA_*}} cipher suites are disabled by default in 
{{jdk.tls.disabledAlgorithms}}.

Changed in all files:
* Validity extended from an expired 90-day window (2016) to 100 years
* SANs added: {{DNS:localhost}}, {{IP:127.0.0.1}}, {{IP:127.0.0.2}}, 
{{IP:127.0.0.3}}
* Serial numbers regenerated (new key pair)

Unchanged in all files: Subject DN, Issuer DN, Signature algorithm 
(SHA256withRSA), Public key (RSA 2048-bit), PEM key encryption 
(pbeWithSHA1And3-KeyTripleDES-CBC).

----

h3. cassandra_ssl_test.keystore (JKS, alias: cassandra_ssl_test)

||Parameter||Old||New||Changed||
|Entry type|PrivateKeyEntry|PrivateKeyEntry| |
|Subject DN|{{CN=Apache Cassandra, OU=ssl_testing, O=Unknown, L=Unknown, 
ST=Unknown, C=Unknown}}|same| |
|Issuer DN|same as subject (self-signed)|same| |
|*Serial 
number*|{{0x4f11f924}}|{{0x1507228f95520fe696523ae9ad3a6bf446ade688}}|*YES*|
|*Not Before*|Mar 18 21:28:02 2016|Jun 09 12:14:53 2026|*YES*|
|*Not After*|Jun 16 21:28:02 2016 _(expired)_|May 16 12:14:53 2126 _(+100 
years)_|*YES*|
|Signature algorithm|SHA256withRSA|SHA256withRSA| |
|Public key|RSA 2048-bit|RSA 2048-bit| |
|*SANs*|_(none)_|{{DNS:localhost, IP:127.0.0.1, IP:127.0.0.2, 
IP:127.0.0.3}}|*YES*|
|*Private key*|original|regenerated (same algorithm/size)|*YES*|

----

h3. cassandra_ssl_test_nopassword.keystore (PKCS12, alias: 1)

||Parameter||Old||New||Changed||
|Entry type|PrivateKeyEntry|PrivateKeyEntry| |
|Subject DN|{{CN=Apache Cassandra, OU=ssl_testing, O=Unknown, L=Unknown, 
ST=Unknown, C=Unknown}}|same| |
|Issuer DN|same as subject (self-signed)|same| |
|*Serial 
number*|{{0x4f11f924}}|{{0x1507228f95520fe696523ae9ad3a6bf446ade688}}|*YES*|
|*Not Before*|Mar 18 21:28:02 2016|Jun 09 12:14:53 2026|*YES*|
|*Not After*|Jun 16 21:28:02 2016 _(expired)_|May 16 12:14:53 2126 _(+100 
years)_|*YES*|
|Signature algorithm|SHA256withRSA|SHA256withRSA| |
|Public key|RSA 2048-bit|RSA 2048-bit| |
|*SANs*|_(none)_|{{DNS:localhost, IP:127.0.0.1, IP:127.0.0.2, 
IP:127.0.0.3}}|*YES*|
|Store password|_(empty)_|_(empty)_| |
|*Private key*|original|regenerated (same algorithm/size)|*YES*|

----

h3. cassandra_ssl_test.keystore.pem (PEM — encrypted private key + certificate)

||Parameter||Old||New||Changed||
|Key header|{{BEGIN ENCRYPTED PRIVATE KEY}}|{{BEGIN ENCRYPTED PRIVATE KEY}}| |
|Key 
encryption|{{pbeWithSHA1And3-KeyTripleDES-CBC}}|{{pbeWithSHA1And3-KeyTripleDES-CBC}}|
 |
|Key password|{{cassandra}}|{{cassandra}}| |
|Key algorithm|RSA|RSA| |
|Key size|2048-bit|2048-bit| |
|Subject DN|{{CN=Apache Cassandra, OU=ssl_testing, O=Unknown, L=Unknown, 
ST=Unknown, C=Unknown}}|same| |
|Issuer DN|same as subject (self-signed)|same| |
|*Serial number*|{{0x4f11f924}}|_(omitted by generator)_|*YES*|
|*Not Before*|Mar 18 21:28:02 2016|Jun 09 12:14:53 2026|*YES*|
|*Not After*|Jun 16 21:28:02 2016 _(expired)_|May 16 12:14:53 2126 _(+100 
years)_|*YES*|
|Signature algorithm|SHA256withRSA|SHA256withRSA| |
|*SANs*|_(none)_|{{DNS:localhost, IP:127.0.0.1, IP:127.0.0.2, 
IP:127.0.0.3}}|*YES*|

----

h3. cassandra_ssl_test.unencrypted_keystore.pem (PEM — unencrypted private key 
+ certificate)

||Parameter||Old||New||Changed||
|Key header|{{BEGIN PRIVATE KEY}} (PKCS#8 unencrypted)|{{BEGIN PRIVATE KEY}} 
(PKCS#8 unencrypted)| |
|Key algorithm|RSA|RSA| |
|Key size|2048-bit|2048-bit| |
|Subject DN|{{CN=Apache Cassandra, OU=ssl_testing, O=Unknown, L=Unknown, 
ST=Unknown, C=Unknown}}|same| |
|Issuer DN|same as subject (self-signed)|same| |
|*Serial number*|{{0x4f11f924}}|_(omitted by generator)_|*YES*|
|*Not Before*|Mar 18 21:28:02 2016|Jun 09 12:14:53 2026|*YES*|
|*Not After*|Jun 16 21:28:02 2016 _(expired)_|May 16 12:14:53 2126 _(+100 
years)_|*YES*|
|Signature algorithm|SHA256withRSA|SHA256withRSA| |
|*SANs*|_(none)_|{{DNS:localhost, IP:127.0.0.1, IP:127.0.0.2, 
IP:127.0.0.3}}|*YES*|

----

h3. cassandra_ssl_test.truststore (JKS) — cassandra_ssl_test entry only

Other entries ({{mykey}}, {{outbound_key}}, {{spiffecert}}, 
{{spiffe_certificate}}) are unchanged.

||Parameter||Old||New||Changed||
|Entry type|trustedCertEntry|trustedCertEntry| |
|Subject DN|{{CN=Apache Cassandra, OU=ssl_testing, O=Unknown, L=Unknown, 
ST=Unknown, C=Unknown}}|same| |
|Issuer DN|same as subject (self-signed)|same| |
|*Serial 
number*|{{0x4f11f924}}|{{0x1507228f95520fe696523ae9ad3a6bf446ade688}}|*YES*|
|*Not Before*|Mar 18 21:28:02 2016|Jun 09 12:14:53 2026|*YES*|
|*Not After*|Jun 16 21:28:02 2016 _(expired)_|May 16 12:14:53 2126 _(+100 
years)_|*YES*|
|Signature algorithm|SHA256withRSA|SHA256withRSA| |
|Public key|RSA 2048-bit|RSA 2048-bit| |
|*SANs*|_(none)_|{{DNS:localhost, IP:127.0.0.1, IP:127.0.0.2, 
IP:127.0.0.3}}|*YES*|

----

h3. cassandra_ssl_test.truststore.pem (PEM — certificate only)

||Parameter||Old||New||Changed||
|Subject DN|{{CN=Apache Cassandra, OU=ssl_testing, O=Unknown, L=Unknown, 
ST=Unknown, C=Unknown}}|same| |
|Issuer DN|same as subject (self-signed)|same| |
|*Serial number*|{{0x4f11f924}}|_(omitted by generator)_|*YES*|
|*Not Before*|Mar 18 21:28:02 2016|Jun 09 12:14:53 2026|*YES*|
|*Not After*|Jun 16 21:28:02 2016 _(expired)_|May 16 12:14:53 2126 _(+100 
years)_|*YES*|
|Signature algorithm|SHA256withRSA|SHA256withRSA| |
|Public key|RSA 2048-bit|RSA 2048-bit| |
|*SANs*|_(none)_|{{DNS:localhost, IP:127.0.0.1, IP:127.0.0.2, 
IP:127.0.0.3}}|*YES*|


> TLS/SSL related tests are failing
> ---------------------------------
>
>                 Key: CASSANDRA-21441
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-21441
>             Project: Apache Cassandra
>          Issue Type: Bug
>          Components: Test/unit
>            Reporter: Dmitry Konstantinov
>            Assignee: Dmitry Konstantinov
>            Priority: Normal
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> A set of TLS-related tests has started to fail in trunk on ci and pre-ci:
> Tests / dtest-latest jdk17 16/64 / 
> dtest-latest.jmx_test.TestJMXSSL.test_jmx_connection
> Tests / dtest-latest jdk21 16/64 / 
> dtest-latest.jmx_test.TestJMXSSL.test_jmx_connection
> Tests / dtest-latest jdk11 16/64 / 
> dtest-latest.jmx_test.TestJMXSSL.test_jmx_connection
> Tests / dtest-latest jdk21 17/64 / 
> dtest-latest.jmx_test.TestJMXSSL.test_require_client_auth
> Tests / dtest-latest jdk17 17/64 / 
> dtest-latest.jmx_test.TestJMXSSL.test_require_client_auth
> Tests / dtest-latest jdk11 17/64 / 
> dtest-latest.jmx_test.TestJMXSSL.test_require_client_auth
> Tests / dtest-novnode jdk11 22/64 / 
> dtest-novnode.jmx_test.TestJMXSSL.test_jmx_connection
> Tests / dtest-novnode jdk21 22/64 / 
> dtest-novnode.jmx_test.TestJMXSSL.test_jmx_connection
> Tests / dtest-novnode jdk17 22/64 / 
> dtest-novnode.jmx_test.TestJMXSSL.test_jmx_connection
> Tests / dtest-novnode jdk21 23/64 / 
> dtest-novnode.jmx_test.TestJMXSSL.test_require_client_auth
> Tests / dtest-novnode jdk17 23/64 / 
> dtest-novnode.jmx_test.TestJMXSSL.test_require_client_auth
> Tests / dtest-novnode jdk11 23/64 / 
> dtest-novnode.jmx_test.TestJMXSSL.test_require_client_auth
> Tests / dtest jdk11 16/64 / dtest.jmx_test.TestJMXSSL.test_jmx_connection
> Tests / dtest jdk17 16/64 / dtest.jmx_test.TestJMXSSL.test_jmx_connection
> Tests / dtest jdk21 16/64 / dtest.jmx_test.TestJMXSSL.test_jmx_connection
> Tests / dtest jdk17 17/64 / dtest.jmx_test.TestJMXSSL.test_require_client_auth
> Tests / dtest jdk11 17/64 / dtest.jmx_test.TestJMXSSL.test_require_client_auth
> Tests / dtest jdk21 17/64 / dtest.jmx_test.TestJMXSSL.test_require_client_auth
> Tests / jvm-dtest jdk11 7/16 / 
> org.apache.cassandra.distributed.test.SSTableLoaderEncryptionOptionsTest.bulkLoaderSuccessfullyStreamsOverSsl-_jdk11_x86_64
> Tests / jvm-dtest jdk17 7/16 / 
> org.apache.cassandra.distributed.test.SSTableLoaderEncryptionOptionsTest.bulkLoaderSuccessfullyStreamsOverSsl-_jdk17_x86_64
> Tests / jvm-dtest jdk21 7/16 / 
> org.apache.cassandra.distributed.test.SSTableLoaderEncryptionOptionsTest.bulkLoaderSuccessfullyStreamsOverSsl-_jdk21_x86_64
> Tests / jvm-dtest jdk17 13/16 / 
> org.apache.cassandra.distributed.test.auth.AuthAuditLoggingTest.testMutualTlsAuthenticationFailedWithUntrustedCertificate-_jdk17_x86_64
> Tests / jvm-dtest jdk21 13/16 / 
> org.apache.cassandra.distributed.test.auth.AuthAuditLoggingTest.testMutualTlsAuthenticationFailedWithUntrustedCertificate-_jdk21_x86_64
> Tests / jvm-dtest jdk11 2/16 / 
> org.apache.cassandra.distributed.test.jmx.JMXSslConfigDistributedTest.testSystemSettings-_jdk11_x86_64
> Tests / jvm-dtest jdk17 2/16 / 
> org.apache.cassandra.distributed.test.jmx.JMXSslConfigDistributedTest.testSystemSettings-_jdk17_x86_64
> Tests / jvm-dtest jdk21 2/16 / 
> org.apache.cassandra.distributed.test.jmx.JMXSslConfigDistributedTest.testSystemSettings-_jdk21_x86_64
> Example: https://ci-cassandra.apache.org/job/Cassandra-trunk/2506/testReport/j
> Test errors include:
> {code}
> Caused by: java.security.cert.CertificateException: No name matching 
> localhost found
>       at 
> java.base/sun.security.util.HostnameChecker.matchDNS(HostnameChecker.java:234)
>       at 
> java.base/sun.security.util.HostnameChecker.match(HostnameChecker.java:103)
>       at 
> java.base/sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:467)
>       at 
> java.base/sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:433)
>       at 
> java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:238)
>       at 
> java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:132)
>       at 
> java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.checkServerCerts(CertificateMessage.java:1278)
>       ... 36 more
> {code}
> {code}
> Caused by: java.security.cert.CertificateException: No subject alternative 
> names present
>       at 
> java.base/sun.security.util.HostnameChecker.matchIP(HostnameChecker.java:142)
>       at 
> java.base/sun.security.util.HostnameChecker.match(HostnameChecker.java:101)
>       at 
> java.base/sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:461)
>       at 
> java.base/sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:435)
>       at 
> java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229)
>       at 
> java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:129)
>       at 
> java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.checkServerCerts(CertificateMessage.java:1350)
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to