Class SESecurityManagerImpl


  • public class SESecurityManagerImpl
    extends java.lang.Object
    • Field Detail

      • LOGID

        private static final LogIDs LOGID
      • KEYSTORE_TYPE

        protected static java.lang.String KEYSTORE_TYPE
      • auto_install_certs

        private static boolean auto_install_certs
      • auto_decline_certs

        private static boolean auto_decline_certs
      • keystore_name

        protected java.lang.String keystore_name
      • truststore_name

        protected java.lang.String truststore_name
      • tls

        private static final java.lang.ThreadLocal tls
      • password_handlers

        protected final java.util.Map password_handlers
      • certificate_handlers

        protected final java.util.Map certificate_handlers
      • exit_vm_permitted

        protected boolean exit_vm_permitted
      • this_mon

        protected final AEMonitor this_mon
      • initialized

        private boolean initialized
      • stoppable_threads

        final java.util.List stoppable_threads
      • hack_constructor_tried

        private boolean hack_constructor_tried
      • hack_constructor

        private java.lang.reflect.Constructor hack_constructor
    • Constructor Detail

      • SESecurityManagerImpl

        public SESecurityManagerImpl()
    • Method Detail

      • initialise

        public void initialise()
      • initEmptyTrustStore

        private void initEmptyTrustStore()
      • resetTrustStore

        public boolean resetTrustStore​(boolean test_only)
      • resetTrustStore

        private boolean resetTrustStore​(boolean test_only,
                                        boolean recovering)
      • getKeystoreName

        public java.lang.String getKeystoreName()
      • getKeystorePassword

        public java.lang.String getKeystorePassword()
      • installSecurityManager

        protected void installSecurityManager()
      • stopThread

        public void stopThread​(java.lang.Thread t)
      • exitVM

        public void exitVM​(int status)
      • installAuthenticator

        public void installAuthenticator()
      • getAuthentication

        public java.net.PasswordAuthentication getAuthentication​(java.lang.String realm,
                                                                 java.lang.String protocol,
                                                                 java.lang.String host,
                                                                 int port)
      • checkKeyStoreHasEntry

        protected boolean checkKeyStoreHasEntry()
      • ensureStoreExists

        protected boolean ensureStoreExists​(java.lang.String name)
      • getKeyStore

        public java.security.KeyStore getKeyStore()
                                           throws java.lang.Exception
        Throws:
        java.lang.Exception
      • getTrustStore

        public java.security.KeyStore getTrustStore()
                                             throws java.lang.Exception
        Throws:
        java.lang.Exception
      • getTrustStore

        public java.security.KeyStore getTrustStore​(boolean attempt_recovery)
                                             throws java.lang.Exception
        Throws:
        java.lang.Exception
      • loadKeyStore

        protected java.security.KeyStore loadKeyStore()
                                               throws java.lang.Exception
        Throws:
        java.lang.Exception
      • loadKeyStore

        protected java.security.KeyStore loadKeyStore​(javax.net.ssl.KeyManagerFactory keyManagerFactory)
                                               throws java.lang.Exception
        Throws:
        java.lang.Exception
      • getSSLServerSocketFactory

        public javax.net.ssl.SSLServerSocketFactory getSSLServerSocketFactory()
                                                                       throws java.lang.Exception
        Throws:
        java.lang.Exception
      • getKeyDetails

        public SEKeyDetails getKeyDetails​(java.lang.String alias)
                                   throws java.lang.Exception
        Throws:
        java.lang.Exception
      • createSelfSignedCertificate

        public java.security.cert.Certificate createSelfSignedCertificate​(java.lang.String alias,
                                                                          java.lang.String cert_dn,
                                                                          int strength)
                                                                   throws java.lang.Exception
        Throws:
        java.lang.Exception
      • getTrustManagerFactory

        public javax.net.ssl.TrustManagerFactory getTrustManagerFactory()
      • getSSLSocketFactory

        public javax.net.ssl.SSLSocketFactory getSSLSocketFactory()
      • installServerCertificates

        public javax.net.ssl.SSLSocketFactory installServerCertificates​(java.net.URL https_url)
      • getAllTrustingTrustManager

        public javax.net.ssl.TrustManager[] getAllTrustingTrustManager()
      • getAllTrustingTrustManager

        public javax.net.ssl.TrustManager[] getAllTrustingTrustManager​(javax.net.ssl.X509TrustManager delegate)
      • installServerCertificates

        private javax.net.ssl.SSLSocketFactory installServerCertificates​(java.net.URL https_url,
                                                                         boolean sni_hack,
                                                                         boolean dh_hack)
      • installServerCertificates

        public javax.net.ssl.SSLSocketFactory installServerCertificates​(java.lang.String alias,
                                                                        java.lang.String host,
                                                                        int port)
      • installServerCertificates

        public javax.net.ssl.SSLSocketFactory installServerCertificates​(java.lang.String alias,
                                                                        java.lang.String host,
                                                                        int port,
                                                                        boolean sni_hack)
      • addCertToKeyStore

        protected void addCertToKeyStore​(java.lang.String alias,
                                         java.security.Key public_key,
                                         java.security.cert.Certificate[] certChain)
                                  throws java.lang.Exception
        Throws:
        java.lang.Exception
      • addCertToTrustStore

        protected javax.net.ssl.SSLSocketFactory addCertToTrustStore​(java.lang.String alias,
                                                                     java.security.cert.Certificate cert,
                                                                     boolean update_https_factory)
                                                              throws java.lang.Exception
        Throws:
        java.lang.Exception
      • getPasswordAuthentication

        public java.net.PasswordAuthentication getPasswordAuthentication​(java.lang.String realm,
                                                                         java.net.URL tracker)
      • setPasswordAuthenticationOutcome

        public void setPasswordAuthenticationOutcome​(java.lang.String realm,
                                                     java.net.URL tracker,
                                                     boolean success)
      • clearPasswords

        public void clearPasswords()
      • setThreadPasswordHandler

        public void setThreadPasswordHandler​(SEPasswordListener l)
      • unsetThreadPasswordHandler

        public void unsetThreadPasswordHandler()
      • setPasswordHandler

        public void setPasswordHandler​(java.net.URL url,
                                       SEPasswordListener l)
      • setCertificateHandler

        public void setCertificateHandler​(java.net.URL url,
                                          SECertificateListener l)
      • getClassContext

        public java.lang.Class[] getClassContext()
      • main

        public static void main​(java.lang.String[] args)