Klasse TLSUtils

java.lang.Object
de.svws_nrw.base.crypto.TLSUtils

public final class TLSUtils extends Object
Diese Klasse stellt Methoden für die Kommunikation mithilfe von SSL/TLS zur Verfügung
  • 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

      public static String encodeCertBase64(X509Certificate cert) throws CertificateException
      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

      public static X509Certificate decodeCertBase64(String base64) throws CertificateException
      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

      public static String encodeCertFileBase64(X509Certificate cert) throws CertificateException
      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

      public static X509Certificate decodeCertFileBase64(String base64) throws CertificateException
      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

      public static String encodeCertListJson(List<X509Certificate> certs) throws CertificateException
      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

      public static List<X509Certificate> decodeCertListJson(String json) throws CertificateException
      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