第一步:为服务器生成证书
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双向认证是一种安全通信的方法,用于在网络中保护数据传输的安全性。它结合了SSL(Secure Sockets Layer)和TLS(Transport Layer Security)协议,这些协议提供了数据加密、服务器验证以及客户端验证等...
struts2-ssl-plugin-1.2.1.jar
Weblogic 配置 SSL 双向认证 Weblogic 配置 SSL 双向认证是为了确保 Web 应用程序的安全性和加密性。SSL(Secure Sockets Layer)是用于加密 Internet 通信的安全协议。双向认证是指客户端和服务端都需要验证对方的...
SSL双向认证握手过程详解 SSL双向认证握手过程是SSL/TLS协议中的一种身份验证机制,用于确保客户端和服务器之间的通信安全。本文将详细介绍SSL双向认证握手过程的每个步骤,并解释相关的数据结构和加密算法。 第一...
Scapy-ssl_tls是Python中一个强大的工具,用于解析、构造和操纵网络协议的数据包,特别是在处理SSL/TLS加密通信时。这个库扩展了著名的Scapy框架,使其能够解码和构建SSL/TLS协议的数据包,这对于网络安全分析、渗透...
tomcat6-dta-ssl-1.0.0.jar 此类文件将有助于tomcat支持ssl协议
包括了如何使用openssl指令生成客户端-服务端的证书和密钥,以及使用openssl自带server端来实现简单的ssl双向认证,client端代码中也做了相应的标注和说明,提供编译的Makefile.希望对开始学习如何使用openssl进行...
SSL(Secure Sockets Layer)双向认证,又称为mutual SSL authentication,是网络安全协议中的一个关键概念,用于在互联网上提供安全通信。它扩展了传统的单向认证机制,不仅服务器需要验证客户端的身份,客户端也...
charles-proxy-ssl-proxying-certificate.pem
not-yet-commons-ssl-0.3.9.jar 资源共享,有需要其他jar包的可以在评论留言,看到后我会陆续上传。
Java中的SSL双向认证是一种安全通信机制,用于确保服务器和客户端之间的通信不仅加密,而且双方的身份都得到验证。这种机制在需要高安全性交互的应用场景中,如金融交易、企业内部网络通信等,尤其重要。 SSL...
httpd-ssl.conf
在这个场景中,我们讨论的是如何在Java中设置和实现SSL套接字的双向认证。双向认证通常在高安全性环境中使用,例如银行、政府机构或企业内部网络,因为它们需要确保通信双方都是可信的。 首先,为了实现双向认证,...
mongodb-win32-x86_64-2008plus-ssl-4.0.23-signed.msi安装包 官网好难下载,找到后跟大家一起分享下,有需要可以来下
`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.10,windows版,官网下载太慢,保存一份
通过 Tomcat 实现 SSL 双向认证 Tomcat 是一个流行的开源 Web 服务器,它支持 SSL/TLS 加密协议来确保数据传输的安全性。SSL 双向认证是一种高级的身份验证机制,它需要同时配置 Web 服务器证书和客户端证书,并在...
SSL双向认证证书制作过程主要涉及网络安全领域,尤其是用于保护网络通信的安全套接层(SSL)和传输层安全(TLS)协议。这些协议确保了数据在互联网上传输时的加密和完整性,防止中间人攻击和数据泄露。以下是SSL双向...
django-sslserver, Django 启用的SSL开发服务器 Django SSL服务器 Django SSL服务器是 Django 框架的一个已经启用SSL的开发服务器。请注意,这里不应用于生产设置。 这个应用适用于特殊的用例。 但是,大多数人应该...