Class MariaDbX509EphemeralTrustingManager

  • All Implemented Interfaces:
    javax.net.ssl.TrustManager, javax.net.ssl.X509TrustManager

    public class MariaDbX509EphemeralTrustingManager
    extends java.lang.Object
    implements javax.net.ssl.X509TrustManager
    Class to accept any server certificate.

    This permit to have network encrypted, BUT client doesn't validate server identity !!

    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) byte[] fingerprint  
      (package private) javax.net.ssl.X509TrustManager internal  
    • Constructor Summary

      Constructors 
      Constructor Description
      MariaDbX509EphemeralTrustingManager​(javax.net.ssl.X509TrustManager javaTrustManager)
      Constructor, this is only a wrapper around standard X509TrustManager, that will save fingerprint on trusting certificate validation
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void checkClientTrusted​(java.security.cert.X509Certificate[] x509Certificates, java.lang.String string)  
      void checkServerTrusted​(java.security.cert.X509Certificate[] x509Certificates, java.lang.String authType)  
      java.security.cert.X509Certificate[] getAcceptedIssuers()  
      byte[] getFingerprint()  
      private static byte[] getThumbprint​(java.security.cert.X509Certificate cert, java.lang.String algorithm)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • internal

        javax.net.ssl.X509TrustManager internal
      • fingerprint

        byte[] fingerprint
    • Constructor Detail

      • MariaDbX509EphemeralTrustingManager

        public MariaDbX509EphemeralTrustingManager​(javax.net.ssl.X509TrustManager javaTrustManager)
        Constructor, this is only a wrapper around standard X509TrustManager, that will save fingerprint on trusting certificate validation
        Parameters:
        javaTrustManager - real trust manager
    • Method Detail

      • checkClientTrusted

        public void checkClientTrusted​(java.security.cert.X509Certificate[] x509Certificates,
                                       java.lang.String string)
                                throws java.security.cert.CertificateException
        Specified by:
        checkClientTrusted in interface javax.net.ssl.X509TrustManager
        Throws:
        java.security.cert.CertificateException
      • checkServerTrusted

        public void checkServerTrusted​(java.security.cert.X509Certificate[] x509Certificates,
                                       java.lang.String authType)
                                throws java.security.cert.CertificateException
        Specified by:
        checkServerTrusted in interface javax.net.ssl.X509TrustManager
        Throws:
        java.security.cert.CertificateException
      • getFingerprint

        public byte[] getFingerprint()
      • getThumbprint

        private static byte[] getThumbprint​(java.security.cert.X509Certificate cert,
                                            java.lang.String algorithm)
                                     throws java.security.NoSuchAlgorithmException,
                                            java.security.cert.CertificateEncodingException
        Throws:
        java.security.NoSuchAlgorithmException
        java.security.cert.CertificateEncodingException
      • getAcceptedIssuers

        public java.security.cert.X509Certificate[] getAcceptedIssuers()
        Specified by:
        getAcceptedIssuers in interface javax.net.ssl.X509TrustManager