createTargetWithMtls

Versionshinweise

23.2.14, 23.3.8, 24.1.6, 24.2.3, 24.3

Web Client

plus

Windows Client

plus  

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

Groovy
// 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