22 lines
649 B
Text
22 lines
649 B
Text
|
|
// Create the socket and connect it at the TCP layer.
|
|
SSLSocket socket = (SSLSocket) ctx.getSocketFactory()
|
|
.createSocket(host, port);
|
|
|
|
// Disable the Nagle algorithm.
|
|
socket.setTcpNoDelay(true);
|
|
|
|
// Adjust ciphers and protocols.
|
|
socket.setSSLParameters(params);
|
|
|
|
// Perform the handshake.
|
|
socket.startHandshake();
|
|
|
|
// Validate the host name. The match() method throws
|
|
// CertificateException on failure.
|
|
X509Certificate peer = (X509Certificate)
|
|
socket.getSession().getPeerCertificates()[0];
|
|
// This is the only way to perform host name checking on OpenJDK 6.
|
|
HostnameChecker.getInstance(HostnameChecker.TYPE_TLS).match(
|
|
host, peer);
|
|
|