我使用java的keytool
创建了一个自签名证书keytool -genkeypair -alias my_home -keystore herong.jks
在客户端我有。
System.setProperty("javax.net.ssl.trustStore", "herong.jks");
System.setProperty("javax.net.ssl.trustStorePassword", "HerongJKS");
我在服务器上
System.setProperty("javax.net.ssl.keyStore", "herong.jks");
System.setProperty("javax.net.ssl.keyStorePassword", "HerongJKS");
String ksName = "herong.jks";
char ksPass[] = "HerongJKS".toCharArray();
char ctPass[] = "My1stKey".toCharArray();
try {
KeyStore ks = KeyStore.getInstance("JKS");
ks.load(server.class.getResourceAsStream(ksName), ksPass);
KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
kmf.init(ks, ctPass);
SSLContext sc = SSLContext.getInstance("TLS");
sc.init(kmf.getKeyManagers(), null, null);
//listen for connections
}
我在服务器和客户端软件包中都有jks文件,但是当尝试通过两台计算机连接到服务器时,客户端无法通过握手。