java实现SSL双向认证.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
java实现SSL双向认证

/blog/276096java实现 SSL双向认证博客分类:/category/34162JAVA/blogs/tag/JavaJava/blogs/tag/./blogs/tag/SocketSocket/blogs/tag/SecuritySecurity/blogs/tag/threadthread?实现技术:JSSE(Java Security Socket Extension/ \t _blank)是Sun为了解决在Internet上的实现安全信息传输的解决方案。它实现了SSL和TSL(传输层安全)协议。在JSSE中包含了数据加密,服务器验证,消息完整性和客户端验证等技术。通过使用JSSE,可以在Client和Server之间通过TCP/IP协议安全地传输数据。?为了实现消息认证。Server需要:1)KeyStore: 其中保存服务端的私钥2)Trust KeyStore:其中保存客户端的授权证书Client需要:1)KeyStore:其中保存客户端的私钥2)Trust KeyStore:其中保存服务端的授权证书?使用Java自带的keytool命令,去生成这样信息文件:1)生成服务端私钥,并且导入到服务端KeyStore文件中????????????????????????2)根据私钥,导出服务端证书???3)将服务端证书,导入到客户端的Trust KeyStore中??采用同样的方法,生成客户端的私钥,客户端的证书,并且导入到服务端的Trust KeyStore中1)keytool -genkey -alias clientkey -keystore kclient.keystore2)keytool -export -alias clientkey -keystore kclient.keystore -file client.crt3)keytool -import -alias clientkey -file client.crt -keystore tserver.keystore??Server:?Java代码?package?ssl;????import?java.io.BufferedInputStream;??import?java.io.BufferedOutputStream;??import?java.io.FileInputStream;??import?java.io.InputStream;??import?java.io.OutputStream;??import?.Socket;??import?java.security.KeyStore;???import?.ssl.KeyManagerFactory;??import?.ssl.SSLContext;??import?.ssl.SSLServerSocket;??import?.ssl.TrustManagerFactory;???/**??*??*?@author?Leo??*/??public?class?Server?implements?Runnable{????private?static?final?int?DEFAULT_PORT????????????????????=?7777;????private?static?final?String?SERVER_KEY_STORE_PASSWORD???????=?123456;???private?static?final?String?SERVER_TRUST_KEY_STORE_PASSWORD?=?123456;????private?SSLServerSocket?serverSocket;????/**??*?启动程序??*???*?@param?args??*/???public?static?void?main(String[]?args)?{???Server?server?=?new?Server();???server.init();???Thread?thread?=?new?Thread(server);???thread.start();???}????public?synchronized?void?start()?{???if?(serverSocket?==?null)?{???System.out.println(ERROR);???return;???}???while?(true)?{???try?{???Socket?s?=?serverSocket.accept();???InputStream?input?=?s.getInputStream();???OutputStream?output?=?s.getOutpu

文档评论(0)

hagoulz + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档