createTargetWithMtls
Versionshinweise | 23.2.14, 23.3.8, 24.1.6, 24.2.3, 24.3 |
---|---|
Web Client | |
Windows Client |
|
Code
WebTarget RestUtils.createTargetWithMtls(String target, String pemDefinition, String privateKeyPassword)
WebTarget RestUtils.createTargetWithMtls(String target, String pemDefinition, String privateKeyPassword, boolean disableSSLCheck, boolean disableHostnameVerifier)
Beschreibung
Erstellt ein neues Ressourcen-Ziel für die angegebene URI mittels mTLS.
Um mTLS zu nutzen, muss eine PEM-Definition angegeben werden, die den verschlüsselten privaten Schlüssel des Clients enthält, das öffentliche Zertifikat des Clients und, falls von einer Certification Authority unterzeichnet, die komplette Zertifikats-Kette.
Anforderungen:
Privater Schlüssel: Der verschlüsselte private Schlüssel des Clients in der PKCS8-Syntax und im PEM-Base64-Format.
Öffentliches Zertifikat: Das öffentliche Zertifikat des Clients in der X.509-Syntax und im PEM-Base64-Format.
Öffentliche Zertifikate der Certificate Authority (optional): Die öffentlichen Zertifikate der Certificate Authority in der X.509-Syntax und im PEM-Base64-Format. Reihenfolge der Zertifikate: Intermediate CA2, Intermediate CA1, CA
PEM-Beispiel
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIE7zAoBgoqhkiG9w0BDAEBMBoEFKFl9qSQPREj0Pdcl6CIbI0/pQxOAgIEAASC [...]
-----END ENCRYPTED PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
MIIC5TCCAc2gAwIBAgIJAOE+TA4/Ddg3MA0GCSqGSIb3DQEBCwUAMBExDzANBgNV [...]
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEnTCCAoWgAwIBAgIJAI7EiWecd+VOMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNV [...]
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIBWDCBE6ADAgECAgkAuySESNpXVy8wCgYIKoZIzj0EAwIwETEPMA0GA1UEAxMG [...]
-----END CERTIFICATE-----
Parameter
target
- Die URI des Ziels.pemDefinition
- Die PEM-Definition mit dem privaten Schlüssel (PKCS8) des Clients und dessen öffentlichen Zertifikates (X.509).privateKeyPassword
- Das Password, um den privaten Schlüssel zu entsperren.disableSSLCheck
- Optionaler Parameter: true, falls allen Zertifikaten vertraut werden sollen.disableHostnameVerifier
- Optionaler Parameter: true, falls die Prüfung des Host-Name ignoriert werden soll.
Rückgabe
Ein neues Ressourcen-Ziel.
Beispiele
// call service by URI using mTLS
// PEM and password obtained externally, e.g. by a Credential (CredentialUtils) or a Global Variable (VariableUtils)
String pem = "...";
String password = "secret";
WebTarget target = RestUtils.createTarget("https://rest.server.com/api/service/resource", pem, password);
// configure target and invoke REST call