Package de.svws_nrw.base.crypto
Klasse TLSUtils
java.lang.Object
de.svws_nrw.base.crypto.TLSUtils
Diese Klasse stellt Methoden für die Kommunikation mithilfe von SSL/TLS zur Verfügung
-
Methodenübersicht
Modifizierer und TypMethodeBeschreibungstatic X509Certificate
decodeCertBase64
(String base64) Wandelt das übergebene als Base64-kodierter String vorliegende Zertifikat in ein X.509-Zertifikat um.static X509Certificate
decodeCertFileBase64
(String base64) Wandelt das übergebene als im Base64-kodierten Dateiformat vorliegende Zertifikat in ein X.509-Zertifikat um.static List
<X509Certificate> decodeCertListJson
(String json) Wandelt die als JSON-Array in Base64-kodierte in einem String vorliegende Zertifikatsliste in eine Liste von X.509-Zertifikaten um.static String
Wandelt das übergebene X.509-Zertifikat in einen Base64-kodierten String um.static String
Wandelt das übergebene X.509-Zertifikat in ein Base64-kodiertes Dateiformat um.static String
encodeCertListJson
(List<X509Certificate> certs) Wandelt die übergebene X.509-Zertifikate der Liste jeweils in einen Base64-kodierten String um und gibt das Ergebnis in einem JSON-Array zurück.static SSLContext
getTLSContextFromKeystore
(KeyStore keystore) Erstellt für den übergebenen Keytore einen Trust-Manager und initialisiert damit einen neuen SSL-Kontextstatic boolean
queryServerCertificates
(String url, List<X509Certificate> chain) Die Methode führt einen TLS-Handshake mit dem Server bei der übergebenen URL durch und gibt die Zertifikatskette in der übergebebenen Liste zurück.static boolean
queryServerCertificatesBase64
(String url, List<String> chain) Die Methode führt einen TLS-Handshake mit dem Server bei der übergebenen URL durch und gibt die Zertifikatskette in der übergebebenen Liste zurück.
-
Methodendetails
-
queryServerCertificates
public static boolean queryServerCertificates(String url, List<X509Certificate> chain) throws SSLException Die Methode führt einen TLS-Handshake mit dem Server bei der übergebenen URL durch und gibt die Zertifikatskette in der übergebebenen Liste zurück. Außerdem wird ein boolean-Wert zurückgegeben, welcher angibt, ob dem Zertifikat aufgrund der Zertifikatskette vertraut wird. Das Server-Zertifikat ist das erste Zertifikat in der Kette.- Parameter:
url
- die Server-URL mit der der TLS-Handshake durchgeführt werden soll.chain
- eine Liste, in der die Zertifikatskette zurückgegeben wird. Diese Liste wird vor dem Befüllen geleert.- Gibt zurück:
- true, wenn dem Server-Zertifikat vom Default-Keystore vertraut wird. Ansonsten false
- Löst aus:
SSLException
- im Fehlerfall
-
queryServerCertificatesBase64
public static boolean queryServerCertificatesBase64(String url, List<String> chain) throws SSLException Die Methode führt einen TLS-Handshake mit dem Server bei der übergebenen URL durch und gibt die Zertifikatskette in der übergebebenen Liste zurück. Außerdem wird ein boolean-Wert zurückgegeben, welcher angibt, ob dem Zertifikat aufgrund der Zertifikatskette vertraut wird. Das Server-Zertifikat ist das erste Zertifikat in der Kette.- Parameter:
url
- die Server-URL mit der der TLS-Handshake durchgeführt werden soll.chain
- eine Liste, in der die Zertifikatskette Base64 kodiert zurückgegeben wird. Diese Liste wird vor dem Befüllen geleert.- Gibt zurück:
- true, wenn dem Server-Zertifikat vom Default-Keystore vertraut wird. Ansonsten false
- Löst aus:
SSLException
- im Fehlerfall
-
encodeCertBase64
Wandelt das übergebene X.509-Zertifikat in einen Base64-kodierten String um.- Parameter:
cert
- das X.509-Zertifikat- Gibt zurück:
- das Base64-kodierte Zertifikat
- Löst aus:
CertificateException
- falls ein Fehler beim Umwandeln auftritt
-
decodeCertBase64
Wandelt das übergebene als Base64-kodierter String vorliegende Zertifikat in ein X.509-Zertifikat um.- Parameter:
base64
- das Base64-kodierte Zertifikat- Gibt zurück:
- das X.509-Zertifikat
- Löst aus:
CertificateException
- falls ein Fehler beim Umwandeln auftritt
-
encodeCertFileBase64
Wandelt das übergebene X.509-Zertifikat in ein Base64-kodiertes Dateiformat um.- Parameter:
cert
- das X.509-Zertifikat- Gibt zurück:
- das Base64-kodierte Zertifikat
- Löst aus:
CertificateException
- falls ein Fehler beim Umwandeln auftritt
-
decodeCertFileBase64
Wandelt das übergebene als im Base64-kodierten Dateiformat vorliegende Zertifikat in ein X.509-Zertifikat um.- Parameter:
base64
- das Base64-kodierte Zertifikat- Gibt zurück:
- das X.509-Zertifikat
- Löst aus:
CertificateException
- falls ein Fehler beim Umwandeln auftritt
-
encodeCertListJson
Wandelt die übergebene X.509-Zertifikate der Liste jeweils in einen Base64-kodierten String um und gibt das Ergebnis in einem JSON-Array zurück.- Parameter:
certs
- die Liste der X.509-Zertifikate- Gibt zurück:
- das JSON-Array mit den Base64 kodierten Zertifikaten
- Löst aus:
CertificateException
- falls ein Fehler beim Umwandeln auftritt
-
decodeCertListJson
Wandelt die als JSON-Array in Base64-kodierte in einem String vorliegende Zertifikatsliste in eine Liste von X.509-Zertifikaten um.- Parameter:
json
- das als String vorliegende JSON-Array von Base64-kodierten Zertifikaten- Gibt zurück:
- die Liste von X.509-Zertifikaten
- Löst aus:
CertificateException
- falls ein Fehler beim Umwandeln auftritt
-
getTLSContextFromKeystore
public static SSLContext getTLSContextFromKeystore(KeyStore keystore) throws GeneralSecurityException Erstellt für den übergebenen Keytore einen Trust-Manager und initialisiert damit einen neuen SSL-Kontext- Parameter:
keystore
- der Keystore- Gibt zurück:
- der SSL-Kontext für das TLS-Protokoll
- Löst aus:
GeneralSecurityException
- im Fehlerfall
-