gpt4 book ai didi

使用 PKCS12 证书的 Java 客户端握手

转载 作者:太空宇宙 更新时间:2023-11-03 15:16:15 24 4
gpt4 key购买 nike

我正在使用以下握手代码连接到 dc bidden 服务器

System.setProperty("javax.net.ssl.keyStore",".p12 file path");
System.setProperty("javax.net.ssl.keyStorePassword",keystorePassword);
System.setProperty("javax.net.ssl.keyStoreType",""pkcs12"");

我能够使用此代码连接到第一台服务器,但对于下一台服务器tomcat 忽略最近的属性集,所以我无法连接到具有相同类型的 dc bidden 服务器的下一个服务器。

提前致谢

最佳答案

如果“连接 https URL”是指 java.net.URL 类和类似 new java.net.URL("https://something") .openConnection () 返回 javax.net.HttpsURLConnection 的实现(子类),这里是我引用的两个示例:

static void SO49993912ExampleClientPKCS12 (String[] args) throws Exception {
FileInputStream fis = new FileInputStream (args[0]);
KeyStore ks = KeyStore.getInstance("PKCS12");
ks.load (fis, args[1].toCharArray()); fis.close();
KeyManagerFactory kf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
kf.init (ks, args[1].toCharArray());
SSLContext ctx = SSLContext.getInstance ("TLS");
ctx.init (kf.getKeyManagers(), null /*default TM(s)*/, null);
// method 1
HttpsURLConnection conn1 = (HttpsURLConnection) new URL (args[2]).openConnection();
conn1.setSSLSocketFactory(ctx.getSocketFactory());
conn1.connect(); System.out.println (conn1.getResponseCode()); conn1.disconnect();
// method 2
HttpsURLConnection.setDefaultSSLSocketFactory(ctx.getSocketFactory());
HttpsURLConnection conn2 = (HttpsURLConnection) new URL (args[2]).openConnection();
conn1.connect(); System.out.println (conn2.getResponseCode()); conn2.disconnect();
}

然而,在 Java 中有很多其他方法可以连接到 https(和其他)URL;如果你真的有其他意思,你必须更具体。

关于使用 PKCS12 证书的 Java 客户端握手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49993912/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com