在Tomcat上使用SSL 双向验证时
使用keytool生成一个 jks, 生成的jks里 默认里面会有一个证书。
keytool -list -keystore xxx.jks 查看到有一个证书
要为客户浏览器做证书。用openssl生成P12文件
把P12文件放入到jks证书容器里。
如果要做十个不同的证书。要把这十个证书都导入到jks中?
如果不想服务器证书被窃取。 要保存好哪个文件?
OpenSSL中有.pem文件,这个文件又是什么?
.pem .p12 .cer .jks 他们之间的关系是什么?
在网上搜了好长时间。通的keytool的可以成功配置好。但不知道为什么要这样做。
这三个帖子也已经看过了。还是不太明白
* Acegi X.509双向认证 (添加验证码jcaptcha)
* 怎么利用数字证书完成身份验证、客户和服务器端的加密和解密。
* Tomcat6配置使用SSL双向认证
你的问题,难度比我的大呀
我也找找你说的问题。
你昨天说的
[quote]我用 keytool -list -v -keystore servlet.jks 的话出现证书链是2个.我不知这是怎么进入到servlet.jks中的。 这是之前别人做的。我目前也在研究怎么配置出来。[/quote]
用list看到2个证书,是你把2个证书放到JDK的信用库里了
[code="java"] keytool -import -v -trustcacerts -storepass changeit -alias root_albertsong -file c:\ca\ca-cert.pem -keystore %JAVA_HOME%\jre\lib\security\cacerts
[/code]
我的理解是 放在JDK信用库因该是 server证书
而你说的[quote] 在ie下出现的选择证书对话框中不会出现数字证书。 [/quote]
在ie下出现的选择证书对话框中不会出现数字证书。 这个证书是client证书。
client证书时用[code="java"]C:\OpenSSL\apps\root>keytool -import -v -trustcacerts -storepass password -alias root -file root-cert.pem -keystore root.jks
[/code]
这是把ca加入。不是用ca做的client证书吗。所以把ca加上就可以。
至于[quote]但在那人的机器上不用加入truststoreFile和truststorePass就可以。我的机器上如果不加这个。[/quote]
因该是,他加ca时,是加在tomcat默认的目录,用默认的密码changeit
我也不知道对不对,我们一起研究。