Peer Identity Information
To determine the identity of the peer of an SSL connection, use
the getPeerPrincipal()
method in the following classes: javax.net.ssl.SSLSession
, javax.net.ssl.HttpsURLConnection
,
and javax.net.HandshakeCompletedEvent
. Similarly,
to get the identity that was sent to the peer (to identify the local
entity), use getLocalPrincipal()
in these classes.
For X509-based cipher suites, these methods will return an instance
of javax.security.auth.x500.X500Principal
; for Kerberos
cipher suites, these methods will return an instance of javax.security.auth.kerberos.KerberosPrincipal
.
JSSE applications use getPeerCertificates()
and
similar methods in javax.net.ssl.SSLSession
, javax.net.ssl.HttpsURLConnection
,
and javax.net.HandshakeCompletedEvent
to obtain information
about the peer. When the peer does not have any certificates, SSLPeerUnverifiedException
is
thrown.
If the application needs to determine only the identity of the
peer or identity sent to the peer, it should use the getPeerPrincipal()
and getLocalPrincipal()
methods,
respectively. It should use getPeerCertificates()
and getLocalCertificates()
only
if it needs to examine the contents of those certificates. Furthermore,
it must be prepared to handle the case where an authenticated peer
might not have any certificate.