Mina 单双向认证
来源:互联网 发布:淘宝售后术语大全 编辑:程序博客网 时间:2024/06/03 21:26
生成服务器端密钥
keytool -genkey -alias serverkey -keystore kserver.keystore
导出服务器端证书
keytool -export -alias serverkey -keystore kserver.keystore -file server.crt
将服务器端证书保存到客户端受信密钥中
keytool -import -alias serverkey -file server.crt -keystore tclient.keystore
采用同样的方法,生成客户端的私钥,客户端的证书,并且导入到服务端的Trust KeyStore中
1)keytool -genkey -alias clientkey -keystore kclient.keystore
2)keytool -export -alias clientkey -keystore kclient.keystore -file client.crt
3)keytool -import -alias clientkey -file client.crt -keystore tserver.keystore
如此一来,生成的文件分成两组
服务端保存:kserver.keystore tserver.keystore
客户端保存:kclient.keystore tclient.keyestore
根据需要可以使用双向或单向认证,这里给出单向认证
服务器端:
</pre><pre name="code" class="html">SSLContext context = SSLContext.getInstance("TLS");KeyManagerFactory keyFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());TrustManagerFactory trustFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());KeyStore ks = KeyStore.getInstance("JKS");KeyStore tks = KeyStore.getInstance("JKS");ks.load(new FileInputStream("kserver.keystore"), "密码".toCharArray());tks.load(new FileInputStream("tserver.keystore"), "密码".toCharArray());keyFactory.init(ks, "密码".toCharArray());trustFactory.init(tks);context.init(keyFactory.getKeyManagers(), trustFactory.getTrustManagers(), null);sslFilter = new SslFilter(context);sslFilter.setUseClientMode(false);sslFilter.setNeedClientAuth(false);sslFilter.setWantClientAuth(false);session.getFilterChain().addFirst("tls", sslFilter);session.setAttribute(SslFilter.DISABLE_ENCRYPTION_ONCE, true);
SSLContext context = SSLContext.getInstance("TLS");KeyManagerFactory keyFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());TrustManagerFactory trustFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());KeyStore ks = KeyStore.getInstance("JKS");KeyStore tks = KeyStore.getInstance("JKS");ks.load(new FileInputStream("kclient.keystore"), "密码".toCharArray());tks.load(new FileInputStream("tclient.keystore"), "密码".toCharArray());keyFactory.init(ks, "密码".toCharArray());trustFactory.init(tks);context.init(null, trustFactory.getTrustManagers(), null);sslFilter = new SslFilter(context);sslFilter.setUseClientMode(true);session.getFilterChain().addFirst("tls", sslFilter);
可以用网络抓包工具看到加入TLS之后的数据是经历加密之后传输的
0 0
- Mina 单双向认证
- mina双向认证
- SSL单双向认证
- SSL单双向认证
- Tomcat Https单、双向认证
- 【转】https单双向认证
- eclipse实现SSL单/双向认证
- AFNetworking之于https单双向认证
- 图例解说HTTPS单双向认证
- SSL/TLS 单双向认证代码示例
- eclipse实现SSL单/双向认证
- tomcat实现SSL单、双向认证 学习笔记(2)双向认证
- Apache移植及openssl实现SSL单/双向认证
- SSL构建单双向https认证!https部署及注意事项!
- SSL构建单双向https认证!https部署及注意事项!
- SSL构建单双向https认证!https部署及注意事项!
- SSL构建单双向https认证!https部署及注意事项!
- SSL构建单双向https认证!https部署及注意事项!
- Nexus私服的使用
- c#字符串中包含的运算符按正常计算 例如按四则运算等,类似公式计算,很好很强大
- 关于天线的体会
- 初学者的困惑
- 面试时怎么和HR谈薪资
- Mina 单双向认证
- model angulars
- NYoj 1112 求次数 【水】
- NSTemporaryDirectory
- tracert命令
- GetModuleHandle()获取值为NULL的解决方法
- Nyoj 43 24 Point game 【DFS】
- Uva 11732 "strcmp()" Anyone? (字典树)
- 2015/03/15——我校CSDN高校俱乐部成立!