SSL Java , , . , , - , SSL ; . , , " ", - .
SSL, SSL-, . " ", . , , , , , " " .
, SSL, Java SSL-. , , SSL, , TLS, SSLServerSocket SSLSocket.
, . , . :
ServerSocket getSSLServerSocket(
File keyStoreFile,
char[] keyStoreFilePassword,
int port
) throws GeneralSecurityException, IOException {
SSLContext sslContext
= SSLConnections.getSSLContext(keyStoreFile, keyStoreFilePassword);
SSLServerSocketFactory sslServerSocketFactory
= sslContext.getServerSocketFactory();
SSLServerSocket sslServerSocket
= (SSLServerSocket) sslServerSocketFactory.createServerSocket(port);
return sslServerSocket;
}
SSLServerSocket , ServerSocket; , . , ServerSocket, .
. cacerts JRE , , SSLContext, ServerSocketFactory.getDefault() ServerSocketFactory. / , cacerts.
:
SSLSocket getSSLSocket(
File trustStoreFile,
char[] trustStoreFilePassword,
InetAddress serverAddress,
port serverPort
) throws GeneralSecurityException, IOException {
SSLContext sslContext
= SSLConnections.getSSLContext(trustStoreFile, trustStoreFilePassword);
SSLSocket sslSocket
= (SSLSocket) sslContext.getSocketFactory().createSocket
(serverAddress, serverPort);
sslSocket.startHandshake();
return sslSocket;
}
SSLServerSocket , SSLSocket Socket; SSLSocket , .
, cacerts JRE , SSLContext SSLSocketFactory.getDefault() sslContext.getSocketFactory(). , . , , , , , , , () SSLSocket:
sslSocket.getSSLParameters().setEndpointIdentificationAlgorithm("HTTPS");
, , , , .
,
, , : . Java keytool, 1.7 , .
, : keytool -genkey -alias server -keyalg rsa -dname "cn=server, ou=unit, o=org, l=City, s=ST, c=US" -validity 365242 -keystore server_key_store_file -ext san=ip:192.168.1.129 -v. . , , 365242 - 1000 - , IP- 192.168.1.129. , san=dns:server.example.com san=ip:192.168.1.129. keytool man keytool.
- , , .
keytool -export -alias server -file server.cer -keystore server_key_store_file -rfc -v. server.cer, , .
, server.cer , - keytool -import -alias server -file server.cer -keystore client_trust_store_file -v. ; " ", Java keytool , . : JRE cacerts , changeit, .
, , JRE cacerts , ; . , man keytool .
, , SSL, . . , .