Table of Contents |
---|
...
- Klient (SKLTPs) certifikatets CA (root) saknas i tjänsteproducentens truststore (Received fatal alert: handshake_failure)
- Det saknas ett CA (root) certifikat i klientens (SKLTPs) truststore alternativt en felaktig konfiguration av truststore och den angivna filen finns inte (sun.security.validator.ValidatorException: No trusted certificate found)
- Servers namn som angivits i tjänsteproducentens certifikat (CN) stämmer ej överens med namnet eller IP adressen som angivits i URL:en (java.security.cert.CertificateException: No name matching ...)
- Tjänsteproducenten använder sig av GCM (Galois/Counter Mode) ciphers och dessa stöds ej av standard Java security (sun.security.validator.ValidatorException: Certificate chaining error)
- Fel certifikat installerat hos tjänsteproducenten. Troligen har signeringscertifikatet felaktigt installerats på servern instället för autentiseringscertifikatet från SITHS. (KeyUsage does not allow key encipherment)
Använd openssl för att kontrollera tjänsteproducentens certifikat:
$ openssl s_client [ -cert <client-cert> -key <private-key> ] -connect <producer-host-name>:<port> -showcerts
...
Q: Varför får man "javax.net.ssl.SSLException: java.lang.RuntimeException: Could not generate DH keypair" för utgående trafik från tjänsteplattform mot tjänsteproducent
A: Java 7 och tidigare versioner stödjer ej Diffie-Hellman (DH) modulus nyckellängd överstigande 1024 bits. Använder tjänsteproducenten certifikat med längre nyckellängd och i synnerhet Apache 2.4.7 eller senare så är detta fel typiskt. Åtgärdas genom att lägga till specifika DH parametrar till tjänsteproducentens certifikat. Se en bit ned på denna sida från Apache (Why do I get handshake failures with Java-based clients when using a certificate with more than 1024 bits?)
...
Q: Hur testar jag konnektivitet mot RTP?
Linux
A1: Använd t ex openssl för att testa konnektivitet:
...
Säkerställ att anslutning kommer ut från internt nät genom att använda traceroute och testa därefter anslutning med openssl
~$ traceroute -m 10 prod.esb.rtp.sll.se
> 1 10.0.0.1 (10.0.0.1) 2408.495 ms 2.982 ms 1.735 ms
> 2 192.168.1.1 (192.168.1.1) 3.296 ms 3.561 ms 3.622 ms
...
> 6 sto-ste-er1.sto-cr1.bahnhof.net (46.59.112.42) 4.192 ms 4.290 ms 4.241 ms
> 7 sto-cr1.sto-ste-dr1.bahnhof.net (176.10.178.169) 5.145 ms 4.844 ms 5.295 ms
Svaret innehåller flera "hops" för att nå fram - verifiera att anslutningen lämnar det lokala nätverket.
~ $ openssl s_client -tls1 -connect prod.esb.rtp.sll.se:443
>
...
CONNECTED(00000003)
...
> depth=2 /C=SE/O=Inera AB/CN=SITHS Root CA v1 PP
> depth=2
...
/C=SE/O=Inera
...
AB/CN=SITHS
...
Root
...
CA
...
v1
...
PP
...
Svaret
...
kan
...
innehålla
...
felmeddelanden
...
beroende
...
om
...
SITHS
...
CA-cert
...
inte
...
finns
...
med
...
i
...
lokalt
...
truststore.
...
Det
...
viktiga
...
är
...
att
...
"CONNECTED"
...
samt
...
egenskaper
...
för
...
RTP-certifikatet
...
visas
...
i
...
svaret.
Windows
A2:
...
Säkerställ att anslutning kommer ut från internt nät genom att använda tracert och testa därefter anslutning med telnet
C:\Users\myAccount\>tracert prod.esb.rtp.sll.se
> 1 10.0.0.1 (10.0.0.1) 2408.495 ms 2.982 ms 1.735 ms
> 2 192.168.1.1 (192.168.1.1) 3.296 ms 3.561 ms 3.622 ms
...
> 6 sto-ste-er1.sto-cr1.bahnhof.net (46.59.112.42) 4.192 ms 4.290 ms 4.241 ms
> 7 sto-cr1.sto-ste-dr1.bahnhof.net (176.10.178.169) 5.145 ms 4.844 ms 5.295 ms
Svaret innehåller flera "hops" för att nå fram - verifiera att anslutningen lämnar det lokala nätverket.
C:\Users\myAccount\>telnet
...
...
443
Anslutningen skall lyckas och inte visa felmeddelande "Could not open connection to the host, on port 443: Connect failed"
...