Ich habe Jersey-App, die Jersey-Client verwendet, um einen Server anzufordern. Server verwendet Client-Zertifikat und grundlegende Authentifizierung für die Kommunikation. Ich habe Setup-Vertrauen und Schlüsselspeicher ordnungsgemäß mit Zertifikaten in GlasfischenJava Jersey sendet kein SSL-Client-Zertifikat
Server Zertifikatskette: Server cert -> CA Inter -> CA
Client-Zertifikat-Kette: Client-Zertifikat -> CA Inter -> CA
CA ist ein selbst erstelltes/signiertes Zertifikat und nicht von einem Anbieter.
-Vertrauen:
1) CA
2) CA Inter
Schlüsselspeicher:
1) Client-Zertifikat mit vollständiger Kette
Code: (speichern in Umgebung gesetzt)
sSLContext = SslConfigurator.newInstance().securityProtocol("TLSv1.2").createSSLContext();
HttpAuthenticationFeature authFeature = HttpAuthenticationFeature.basic("user", "pass");
client = ClientBuilder.newBuilder().sslContext(sSLContext).build();
client.register(authFeature);
Alle Zertifikate und Ketten werden ordnungsgemäß geladen.
jedoch, wenn ich eine Anfrage erhalten i
Info: Warning: no suitable certificate found - continuing without client authentication
und dann bekomme ich handshake_failure Fehler
ich diese Fehler
Info: http-listener-1(3), setSoTimeout(0) called
Info: Ignoring unsupported cipher suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 for TLSv1
Info: Ignoring unsupported cipher suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 for TLSv1
Info: Ignoring unsupported cipher suite: TLS_RSA_WITH_AES_256_CBC_SHA256 for TLSv1
Info: Ignoring unsupported cipher suite: TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 for TLSv1
Info: Ignoring unsupported cipher suite: TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 for TLSv1
Info: Ignoring unsupported cipher suite: TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 for TLSv1
Info: Ignoring unsupported cipher suite: TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 for TLSv1
Info: Ignoring unsupported cipher suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 for TLSv1.1
Info: Ignoring unsupported cipher suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 for TLSv1.1
Info: Ignoring unsupported cipher suite: TLS_RSA_WITH_AES_256_CBC_SHA256 for TLSv1.1
Info: Ignoring unsupported cipher suite: TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 for TLSv1.1
Info: Ignoring unsupported cipher suite: TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 for TLSv1.1
Info: Ignoring unsupported cipher suite: TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 for TLSv1.1
Info: Ignoring unsupported cipher suite: TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 for TLSv1.1
ich unbegrenzte chiper Erweiterung installiert haben und prüfen, es funktioniert. Immer noch diese bekommen.
Ich habe auch Zertifikat auf Browser überprüft und ich bin in der Lage, mit dem Server über Browser verbinden und Daten mit den gleichen Zertifikaten abrufen.
Wie bekomme ich 2-Wege-SSL zu arbeiten?
zwei Schlüsselspeicher cacerts finden .jks und keystore.jks, was ist der Truststore des Clients? Ich habe CA und CA in beiden Server und Client-Kette und sie übereinstimmen. Ich habe ca-certs.pem als cert-Kette in Apache-Server festgelegt. Das enthält CA-Zertifikat. Und ich habe überprüft, dass der Server-Cert-Anfragetyp mit einem im Client vorhandenen übereinstimmt – Akshit