Class BasicSSLSessionInfo

  • All Implemented Interfaces:
    SSLSessionInfo

    public class BasicSSLSessionInfo
    extends java.lang.Object
    implements SSLSessionInfo
    Basic SSL session information. This information is generally provided by a front end proxy.
    Author:
    Stuart Douglas
    • Constructor Detail

      • BasicSSLSessionInfo

        public BasicSSLSessionInfo​(byte[] sessionId,
                                   java.lang.String cypherSuite,
                                   java.lang.String certificate,
                                   java.lang.Integer keySize)
                            throws java.security.cert.CertificateException,
                                   javax.security.cert.CertificateException
        Parameters:
        sessionId - The SSL session ID
        cypherSuite - The cypher suite name
        certificate - A string representation of the client certificate
        keySize - The key-size used by the cypher
        Throws:
        java.security.cert.CertificateException - If the client cert could not be decoded
        javax.security.cert.CertificateException - If the client cert could not be decoded
      • BasicSSLSessionInfo

        public BasicSSLSessionInfo​(byte[] sessionId,
                                   java.lang.String cypherSuite,
                                   java.lang.String certificate)
                            throws java.security.cert.CertificateException,
                                   javax.security.cert.CertificateException
        Parameters:
        sessionId - The SSL session ID
        cypherSuite - The cypher suite name
        certificate - A string representation of the client certificate
        Throws:
        java.security.cert.CertificateException - If the client cert could not be decoded
        javax.security.cert.CertificateException - If the client cert could not be decoded
      • BasicSSLSessionInfo

        public BasicSSLSessionInfo​(java.lang.String sessionId,
                                   java.lang.String cypherSuite,
                                   java.lang.String certificate)
                            throws java.security.cert.CertificateException,
                                   javax.security.cert.CertificateException
        Parameters:
        sessionId - The encoded SSL session ID
        cypherSuite - The cypher suite name
        certificate - A string representation of the client certificate
        Throws:
        java.security.cert.CertificateException - If the client cert could not be decoded
        javax.security.cert.CertificateException - If the client cert could not be decoded
      • BasicSSLSessionInfo

        public BasicSSLSessionInfo​(java.lang.String sessionId,
                                   java.lang.String cypherSuite,
                                   java.lang.String certificate,
                                   java.lang.Integer keySize)
                            throws java.security.cert.CertificateException,
                                   javax.security.cert.CertificateException
        Parameters:
        sessionId - The encoded SSL session ID
        cypherSuite - The cypher suite name
        certificate - A string representation of the client certificate
        keySize - The key-size used by the cypher
        Throws:
        java.security.cert.CertificateException - If the client cert could not be decoded
        javax.security.cert.CertificateException - If the client cert could not be decoded
    • Method Detail

      • getSessionId

        public byte[] getSessionId()
        Specified by:
        getSessionId in interface SSLSessionInfo
        Returns:
        The SSL session ID, or null if this could not be determined.
      • getPeerCertificates

        public java.security.cert.Certificate[] getPeerCertificates()
                                                             throws javax.net.ssl.SSLPeerUnverifiedException
        Description copied from interface: SSLSessionInfo
        Gets the peer certificates. This may force SSL renegotiation.
        Specified by:
        getPeerCertificates in interface SSLSessionInfo
        Returns:
        The peer certificates
        Throws:
        javax.net.ssl.SSLPeerUnverifiedException
      • getPeerCertificateChain

        @Deprecated
        public javax.security.cert.X509Certificate[] getPeerCertificateChain()
                                                                      throws javax.net.ssl.SSLPeerUnverifiedException
        Deprecated.
        Description copied from interface: SSLSessionInfo
        This method is no longer supported on java 15 and should be avoided.
        Specified by:
        getPeerCertificateChain in interface SSLSessionInfo
        Throws:
        javax.net.ssl.SSLPeerUnverifiedException
        See Also:
        SSLSession.getPeerCertificateChain()
      • renegotiate

        public void renegotiate​(HttpServerExchange exchange,
                                org.xnio.SslClientAuthMode sslClientAuthMode)
                         throws java.io.IOException
        Description copied from interface: SSLSessionInfo
        Renegotiate in a blocking manner. This will set the client aut TODO: we also need a non-blocking version
        Specified by:
        renegotiate in interface SSLSessionInfo
        Parameters:
        exchange - The exchange
        sslClientAuthMode - The client cert mode to use when renegotiating
        Throws:
        java.io.IOException
      • getSSLSession

        public javax.net.ssl.SSLSession getSSLSession()
        Specified by:
        getSSLSession in interface SSLSessionInfo
        Returns:
        The SSL session, or null if it is not applicable