Moin zusammen,
ich habe inzwischen herausgefunden, was das Problem ist. Das Problem ist die Art und Weise, wie die Zertifizierungskette vom Server präsentiert wird.
Bei dem Server, wo es
nicht funktioniert, nämlich so:
C:\openssl-1.1.1>openssl s_client -connect HOSTNAME:443
CONNECTED(000000EC)
depth=2 C = LAND, ST = STADT, O = ORGANISATION, OU = ORGANISATIONSEINHEIT, CN = Root CA
verify error:num=19:self signed certificate in certificate chain
---
Certificate chain
0 s:C = LAND, ST = STADT, O = ORGANISATION, OU = ORGANISATIONSEINHEIT, CN = COMMON NAME, emailAddress = mail@organisation.org
i:C = LAND, ST = STADT, O = ORGANISATION, OU = ORGANISATIONSEINHEIT, CN = Sub CA
1 s:C = LAND, ST = STADT, O = ORGANISATION, OU = ORGANISATIONSEINHEIT, CN = COMMON NAME, emailAddress = mail@organisation.org
i:C = LAND, ST = STADT, O = ORGANISATION, OU = ORGANISATIONSEINHEIT, CN = Sub CA
2 s:C = LAND, ST = STADT, O = ORGANISATION, OU = ORGANISATIONSEINHEIT, CN = Sub CA
i:C = LAND, ST = STADT, O = ORGANISATION, OU = ORGANISATIONSEINHEIT, CN = Root CA
3 s:C = LAND, ST = STADT, O = ORGANISATION, OU = ORGANISATIONSEINHEIT, CN = Root CA
i:C = LAND, ST = STADT, O = ORGANISATION, OU = ORGANISATIONSEINHEIT, CN = Root CA
---
Hier ein funktionierendes Beispiel:
C:\openssl-1.1.1>openssl s_client -connect HOSTNAME:443
CONNECTED(000000EC)
depth=2 C = LAND, ST = STADT, O = ORGANISATION, OU = ORGANISATIONSEINHEIT, CN = Root CA
verify error:num=19:self signed certificate in certificate chain
---
Certificate chain
0 s:C = LAND, ST = STADT, O = ORGANISATION, OU = ORGANISATIONSEINHEIT, CN = COMMON NAME, emailAddress = mail@organisation.org
i:C = LAND, ST = STADT, O = ORGANISATION, OU = ORGANISATIONSEINHEIT, CN = Sub CA
1 s:C = LAND, ST = STADT, O = ORGANISATION, OU = ORGANISATIONSEINHEIT, CN = Sub CA
i:C = LAND, ST = STADT, O = ORGANISATION, OU = ORGANISATIONSEINHEIT, CN = Root CA
2 s:C = LAND, ST = STADT, O = ORGANISATION, OU = ORGANISATIONSEINHEIT, CN = Root CA
i:C = LAND, ST = STADT, O = ORGANISATION, OU = ORGANISATIONSEINHEIT, CN = Root CA
---
Komischerweise wird das Serverzertifikat zweimal gesendet. Dann meckert das IBM Java - wie gesagt, mit der Oracle JVM geht's auch mit dem oberen Beispiel. Warum das so ist, weiß ich noch nicht, evtl. ein Konfigurationsfehler auf dem Server.
Beste Grüße
Gutierrez