`
seahb
  • 浏览: 69837 次
  • 性别: Icon_minigender_1
  • 来自: 0
文章分类
社区版块
存档分类
最新评论

转载-ssl双向认证

阅读更多

第一步:为服务器生成证书
keytool -genkey -v -alias tomcat -keyalg RSA -keystore c:\tmp\tomcat.keystore -storepass password -keypass password
如果Tomcat所在服务器的域名不是“localhost”,应改为对应的域名,如“www.sina.com.cn”,否则浏览器会弹出警告窗口,提示用户证书与所在域不匹配。在本地做开发测试时,应填入“localhost”

第二步:为客户端生成证书
下一步是为浏览器生成证书,以便让服务器来验证它。为了能将证书顺利导入至IE和Firefox,证书格式应该是PKCS12,因此,使用如下命令生成:
keytool -genkey -v -alias myKey -keyalg RSA -storetype PKCS12 -keystore c:\tmp\my.p12 -storepass password -keypass password
对应的证书库存放在“C:\my.p12”,客户端的CN可以是任意值。稍候,我们将把这个“my.p12”证书库导入到IE和Firefox中。

第三步:让服务器信任客户端证书
由于是双向SSL认证,服务器必须要信任客户端证书,因此,必须把客户端证书添加为服务器的信任认证。由于不能直接将PKCS12格式的证书库导入,我们必须先把客户端证书导出为一个单独的CER文件,使用如下命令:
keytool -export -alias myKey -keystore c:\tmp\my.p12 -storetype PKCS12 -storepass password -rfc -file c:\tmp\my.cer
keytool -import -v -file c:\tmp\my.cer -keystore c:\tmp\tomcat.keystore -storepass password
通过以上命令,客户端证书就被我们导出到“C:\my.cer”文件了。下一步,是将该文件导入到服务器的证书库,添加为一个信任证书:


通过list命令查看服务器的证书库,我们可以看到两个输入,一个是服务器证书,一个是受信任的客户端证书:
keytool -list -keystore c:\tmp\tomcat.keystore -storepass password


第四步:配置Tomcat服务器

打开Tomcat根目录下的/conf/server.xml,找到如下配置段,修改如下:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="true" sslProtocol="TLS"
keystoreFile="C:/tmp/tomcat.keystore" keystorePass="password"
truststoreFile="C:/tmp/tomcat.keystore" truststorePass="password"
/>


第五步:导入客户端证书

如果设置了clientAuth="true",则需要强制验证客户端证书。双击“C:\my.p12”即可将证书导入至IE
导入证书后,即可启动Tomcat,用IE进行访问。如果需要用FireFox访问,则需将证书导入至FireFox:

第六步:在测试页查看证书
https://localhost:8443

 

原帖地址:http://download.csdn.net/source/1311586

分享到:
评论

相关推荐

    java实现-SSL双向认证1.docx

    Java中的SSL双向认证是一种安全通信的方法,用于在网络中保护数据传输的安全性。它结合了SSL(Secure Sockets Layer)和TLS(Transport Layer Security)协议,这些协议提供了数据加密、服务器验证以及客户端验证等...

    struts2-ssl-plugin-1.2.1.jar

    struts2-ssl-plugin-1.2.1.jar

    Weblogic配置SSL双向认证

    Weblogic 配置 SSL 双向认证 Weblogic 配置 SSL 双向认证是为了确保 Web 应用程序的安全性和加密性。SSL(Secure Sockets Layer)是用于加密 Internet 通信的安全协议。双向认证是指客户端和服务端都需要验证对方的...

    SSL双向认证握手过程 非常详细

    SSL双向认证握手过程详解 SSL双向认证握手过程是SSL/TLS协议中的一种身份验证机制,用于确保客户端和服务器之间的通信安全。本文将详细介绍SSL双向认证握手过程的每个步骤,并解释相关的数据结构和加密算法。 第一...

    scapy-ssl_tls-1.2.3.4.zip

    Scapy-ssl_tls是Python中一个强大的工具,用于解析、构造和操纵网络协议的数据包,特别是在处理SSL/TLS加密通信时。这个库扩展了著名的Scapy框架,使其能够解码和构建SSL/TLS协议的数据包,这对于网络安全分析、渗透...

    tomcat6-dta-ssl-1.0.0.jar

    tomcat6-dta-ssl-1.0.0.jar 此类文件将有助于tomcat支持ssl协议

    ssl双向认证 ,客户端c代码

    包括了如何使用openssl指令生成客户端-服务端的证书和密钥,以及使用openssl自带server端来实现简单的ssl双向认证,client端代码中也做了相应的标注和说明,提供编译的Makefile.希望对开始学习如何使用openssl进行...

    SSL双向认证SSL双向认证

    SSL(Secure Sockets Layer)双向认证,又称为mutual SSL authentication,是网络安全协议中的一个关键概念,用于在互联网上提供安全通信。它扩展了传统的单向认证机制,不仅服务器需要验证客户端的身份,客户端也...

    charles-proxy-ssl-proxying-certificate.pem

    charles-proxy-ssl-proxying-certificate.pem

    not-yet-commons-ssl-0.3.9.jar

    not-yet-commons-ssl-0.3.9.jar 资源共享,有需要其他jar包的可以在评论留言,看到后我会陆续上传。

    Java实现SSL双向认证的方法

    Java中的SSL双向认证是一种安全通信机制,用于确保服务器和客户端之间的通信不仅加密,而且双方的身份都得到验证。这种机制在需要高安全性交互的应用场景中,如金融交易、企业内部网络通信等,尤其重要。 SSL...

    httpd-ssl.conf 配置文件

    httpd-ssl.conf

    Java ssl socket 双向认证

    在这个场景中,我们讨论的是如何在Java中设置和实现SSL套接字的双向认证。双向认证通常在高安全性环境中使用,例如银行、政府机构或企业内部网络,因为它们需要确保通信双方都是可信的。 首先,为了实现双向认证,...

    mongodb-win32-x86_64-2008plus-ssl-4.0.23-signed.msi

    mongodb-win32-x86_64-2008plus-ssl-4.0.23-signed.msi安装包 官网好难下载,找到后跟大家一起分享下,有需要可以来下

    curl-7.33.0-win64-ssl-sspi

    `curl-7.33.0-win64-ssl-sspi` 是一个针对Windows 64位操作系统的 curl 工具的版本,它包含了 SSL 和 SSPI 的支持。curl 是一个广泛使用的开源命令行工具,用于在命令行界面中传输数据,常用于HTTP、HTTPS、FTP、...

    mongodb-win32-x86_64-2008plus-ssl-4.0.12-signed.msi

    mongodb-win32-x86_64-2008plus-ssl-4.0.12-signed.msi

    mongodb-win32-x86_64-2008plus-ssl-4.0.10-signed.msi

    mongodb-win32-x86_64-2008plus-ssl-4.0.10,windows版,官网下载太慢,保存一份

    通过tomcat实现SSL双向认证

    通过 Tomcat 实现 SSL 双向认证 Tomcat 是一个流行的开源 Web 服务器,它支持 SSL/TLS 加密协议来确保数据传输的安全性。SSL 双向认证是一种高级的身份验证机制,它需要同时配置 Web 服务器证书和客户端证书,并在...

    SSL双向认证证书制作过程流程

    SSL双向认证证书制作过程主要涉及网络安全领域,尤其是用于保护网络通信的安全套接层(SSL)和传输层安全(TLS)协议。这些协议确保了数据在互联网上传输时的加密和完整性,防止中间人攻击和数据泄露。以下是SSL双向...

    django-sslserver, Django 启用的SSL开发服务器.zip

    django-sslserver, Django 启用的SSL开发服务器 Django SSL服务器 Django SSL服务器是 Django 框架的一个已经启用SSL的开发服务器。请注意,这里不应用于生产设置。 这个应用适用于特殊的用例。 但是,大多数人应该...

Global site tag (gtag.js) - Google Analytics