openssl和keytool制证(tomcat ssl配置)

编译好openssl就可以使用了。



生成CA跟证书与私钥
req -new -x509 -keyout ca.key -out ca.crt -days 365 -config openssl.cnf
这样我们就得到了私钥文件ca.key ca根证书ca.crt。openssl.cnf可以去官网下载 不过它是适合linux系统的,需要修改 ,全部改成双//。


利用keytool生成证书请求。

首先说明几个概念:
keytool 将密钥和证书储存在一个所谓的密钥仓库中。
在密钥仓库中有两种不同类型的项:

密钥项 : 每项存放极为敏感的加密密钥信息,这种信息以一种受保护的格式储存以防止未授权的访问。通常,储存在这类项中的密钥是机密密钥,或是伴有用于认证相应公钥用的证书“链”的私钥。 keytool 只处理后一类型的项,即私钥及其关联的证书链。

可信任的证书项 : 每项包含一个属于另一团体的公钥证书。它之所以叫做“可信任的证书”,是因为密钥仓库的拥有者相信证书中的公钥确实属于证书“主体”(拥有者)识别的身份。证书签发人通过对证书签名来保证这点。

对所有的密钥仓库项(密钥项和可信任的证书项)的访问都要通过唯一的别名来进行。别名不区分大小写,即别名 SHECA 和 sheca 指的是同一密钥仓库项。
       当用 -genkey 命令来生成密钥对(公钥和私钥)或用 -import 命令来将证书或证书链加到可信任证书的清单中,以增加一个实体到密钥仓库中,必须指定了一个别名。后续 keytool 命令必须使用这一相同的别名来引用该实体。
     当第一次产生密钥时,链中只含有一个元素,即自签名证书。自签名证书是一个这样的证书:其签发人(签名人)与主体(证书所认证的公钥所属的实体)相同。当调用 -genkey 命令来生成新的公钥/私钥对时,他同时也把公钥打包进自签名证书中(在对应的密钥仓库中)。

  之后,当证书签名请求 (CSR) 被生成并送至认证机构 (CA) 后, CA 的答复将被导入,证书链将取代自签名证书。在链的底部是认证主体公钥的 CA 所发放的证书(答复)。链中下一个证书是用于认证 CA 公钥的证书。(证书链一般是pkcs7格式的)
生成密钥对
keytool -genkey -alias server -keyalg rsa -validity 365 -keystore d:/server.keystore
生成证书请求
keytool -certreq -alias server -file server.csr -keystore d:/server.keystore
利用openssl对server.csr签名
openssl ca -in d:/server.csr -out server.crt -cert ca.crt -keyfile ca.key -notext -config openssl.cnf
直接这样会报错,主要是因为openssl.cnf配置文件的原因。打开这个配置文件,你会看到里面有很多目录,你需要创建对应的目录结构,创建demoCA文件夹以及其子文件newcerts ,文件index.txt、 serial。 如果这样还是会报错 ,需要注释掉配置文件中的#x509_extensions = x509v3_extensions 

签名后就可以将根证书ca.crt和签好名都server.crt导入到keytool的受信任的仓库truts.keystore

keytool -import -v -trustcacerts -alias ca_root -file ca.crt -keystore d:/
trust .keystore

可以先将CA的根证书ca.crt导入到server.keystore中 在导入server.crt试试看能不能取代密钥仓库原有的证书链。取代上面括号中的
keytool -import -v -alias caroot -file ca.crt -keystore d:/server.keystore
keytool -import -v - trustcacerts  -alias server -file server.crt -keystore d:/server.keystore

记得有2个密钥仓库,一个也可以,但是配置中有2个。

然后在tomcat的server.xml中配置

 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值