Module  java.base
软件包  javax.net.ssl

Class HandshakeCompletedEvent

  • All Implemented Interfaces:
    Serializable


    public class HandshakeCompletedEvent
    extends EventObject
    此事件表示在给定SSL连接上完成SSL握手。 关于握手结果的所有核心信息都通过“SSLSession”对象进行捕获。 为方便起见,此事件类可以直接访问某些重要的会话属性。

    这个事件的来源是刚刚完成握手的SSLSocket。

    从以下版本开始:
    1.4
    另请参见:
    SSLSocketHandshakeCompletedListenerSSLSessionSerialized Form
    • 构造方法详细信息

      • HandshakeCompletedEvent

        public HandshakeCompletedEvent​(SSLSocket sock,
                                       SSLSession s)
        构造一个新的HandshakeCompletedEvent。
        参数
        sock - SSLSocket作为事件的来源
        s - 此事件与之相关联的SSLSession
    • 方法详细信息

      • getSession

        public SSLSession getSession​()
        返回触发此事件的会话。
        结果
        这个握手的 SSLSession
      • getCipherSuite

        public String getCipherSuite​()
        返回由握手产生的会话使用的密码套件。 (这是从SSLsession获取密码套件的便利方法。)
        结果
        在此会话期间协商的密码套件的名称。
      • getLocalCertificates

        public Certificate[] getLocalCertificates​()
        返回在握手期间发送给对等体的证书。 注意:此方法仅在使用基于证书的密码套件时有用。 当多个证书可用于握手时,该实现将选择它认为“最佳”证书链可用,并将其传输到另一方。 该方法允许调用者知道实际使用哪个证书链。
        结果
        有序的证书阵列,本地证书首先跟随任何证书颁发机构。 如果没有发送证书,则返回null。
        另请参见:
        getLocalPrincipal()
      • getPeerCertificates

        public Certificate[] getPeerCertificates​()
                                          throws SSLPeerUnverifiedException
        返回作为定义会话的一部分而建立的对等体的身份。 注意:此方法只能在使用基于证书的密码套件时使用; 与非基于证书的密码套件(如Kerberos)一起使用,将抛出SSLPeerUnverifiedException异常。

        注意:返回的值可能不是有效的证书链,不应依赖于信任决策。

        结果
        一个有序的对等证书阵列,首先是对等体自己的证书,然后是任何证书颁发机构。
        异常
        SSLPeerUnverifiedException - 如果对等体未被验证。
        另请参见:
        getPeerPrincipal()
      • getPeerCertificateChain

        @Deprecated(since="9")
        public X509Certificate[] getPeerCertificateChain​()
                                                  throws SSLPeerUnverifiedException
        已过时。 应该使用返回java.security.cert.Certificate数组的getPeerCertificates()方法。
        返回被确定为定义会话一部分的对等体的身份。 注意:此方法只能在使用基于证书的密码套件时使用; 与非基于证书的密码套件(如Kerberos)一起使用,将抛出SSLPeerUnverifiedException异常。

        注意:返回的值可能不是有效的证书链,不应依赖于信任决策。

        注意:此方法与以前的版本兼容。 新的应用程序应该使用getPeerCertificates()

        结果
        一个对等X.509证书的有序阵列,其中首先使用对等体自己的证书,然后是任何证书颁发机构。 (证书是原始的JSSE X509Certificate格式)。
        异常
        SSLPeerUnverifiedException - 如果对等体未被验证。
        另请参见:
        getPeerPrincipal()
      • getLocalPrincipal

        public Principal getLocalPrincipal​()
        返回在握手期间发送给对等体的主体。
        结果
        校长发给同行。 返回基于X509的密码套件的终端实体证书的X500Principal,Kerberos密码套件的KerberosPrincipal。 如果没有发送主体,则返回null。
        从以下版本开始:
        1.5
        另请参见:
        getLocalCertificates()getPeerPrincipal()
      • getSocket

        public SSLSocket getSocket​()
        返回作为此事件源的套接字。 (这是一个方便的功能,让应用程序编写没有类型转换的代码。)
        结果
        连接在其上的插座。