栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

SSL套接字连接

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SSL套接字连接

您需要一个证书来建立ssl连接,您可以在密钥库中加载证书,也可以加载证书本身。我将显示一些有关keystore选项的示例。

您的代码需要一些参数才能运行:

java -Djavax.net.ssl.keyStore=keyStoreFile -Djavax.net.ssl.keyStorePassword=keystorePassword Server

您还可以使用Java代码加载密钥库,最简单的解决方案是设置系统属性:

System.setProperty("javax.net.ssl.keyStore", 'keystoreFile');System.setProperty("javax.net.ssl.keyStorePassword", 'keystorePassword ');

另外,您还可以用其他方式加载密钥库,这更加复杂,但是您可以执行更复杂的操作:

KeyStore ks = KeyStore.getInstance("JKS");ks.load(new FileInputStream("keystoreFile"), "keystorePassword".toCharArray());KeyManagerFactory kmf = KeyManagerFactory.getInstance("X509");kmf.init(ks, "keystorePassword".toCharArray());TrustManagerFactory tmf = TrustManagerFactory.getInstance("X509"); tmf.init(ks);SSLContext sc = SSLContext.getInstance("TLS"); TrustManager[] trustManagers = tmf.getTrustManagers(); sc.init(kmf.getKeyManagers(), trustManagers, null);SSLServerSocketFactory ssf = sc.getServerSocketFactory(); SSLServerSocket s = (SSLServerSocket) ssf.createServerSocket(serverport);SSLSocket c = (SSLSocket) s.accept();

对于客户,最后几行代码有一些更改,最后三行将替换为:

SSLSocketFactory ssf = sc.getSocketFactory(); SSLSocket s = (SSLSocket) ssf.createSocket(serverip, serverport);s.startHandshake();

如果要为Android加载密钥库,则类型必须为“ BKS”,而不是“ JKS”。您可以轻松找到用于创建密钥库的资源。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/507425.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号