您的位置:首页 > 理论基础 > 计算机网络

对startssl的免费证书续期(续)

u2274874 2016-03-24 18:42 22 查看
2016-3-24续
今天域名上申请的证书到期,申请证书配置到tomcat又搞了2个下午才知道为啥。
去nian,用的是这个方法续证书的,参考http://fengfan.blog.163.com/blog/static/13478622013713114942896/
总结如下:
也就是在startssl上点击Certificates Wizard,输入密码,生成一个私钥,再点击Tool Box→ Create PKCS#12 (PFX) File,输入上步私钥的文本,域名的证书的文本和密码生成一个pfx文件,命名为xx.p12。证书怎么来的?验证域名,大概几个小时通过后就可以下载了。
之后在操作系统输入
keytool -importkeystore -deststorepass 密码 -destkeystore xx.jks -srckeystore xx.p12 -srcstoretype PKCS12 -srcstorepass 密码


生成jks文件,再导入startssl的相关证书,如果导入过就不用再导入了
keytool -import -alias startsslca -file ca.pem -keystore xx.jks
keytool -import -alias startsslca2 -file sub.class1.server.ca.pem -keystore xx.jks


tomcat再修改配置文件server.xml

<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
URIEncoding="UTF-8"
enableLookups="false"
keystoreFile="xxca/xx.jks" keystorePass="密码" />


今nian呢,startssl界面改版了,感觉好多东西不能用了,比如原来生成私钥没有了,生成pfx文件一直提示失败。
新版的要申请域名的证书,不用等待人工审核了,需要自己输入csr文件的内容。
那个用IE生成是什么鬼,搞不懂,也没有产生密钥输入密码的过程,用到的时候密码要输什么都不知道,事实证明,用了这个IE生成也一样不懂得怎么玩,一个下午就这么试验中过去了。
先说一下正确方法,再说一下遇到的问题吧。
参考http://blog.csdn.net/clapton/article/details/50955779
实际正确步骤:
#先生成2个文件
keytool -genkey -alias tomcat -keyalg RSA -keysize 2048 -keystore xx.jks
#输入里面的first name and last name 输入域名

keytool -certreq -keyalg RSA -alias tomcat -keysize 2048 -file xx.csr -keystore xx.jks

#再到startssl.com,Certificates Wizard-> 输入子域名,选择Generated by Myself   (.cer PEM format certificate),输入csr的内容,submit,下载的证书就可以用了,选择OtherServer里面的。

#下面这3个文件在OtherServer里面
keytool -import -alias startcom.root -keystore xx.jks -trustcacerts -file root.crt
keytool -import -alias startcom.intermediate -keystore xx.jks -file 1_Intermediate.crt
#如果这两个文件已经导入过就不用再导入了

keytool -import -alias tomcat -keystore xx.jks -file 域名.crt


以上步骤都没出问题以后,把tomcat中的证书路径指向xx.jks,重启tomcat,输入地址访问,查看证书到期日期,没问题。
遇到的一堆问题,内牛满面~~~~(>_<)~~~~

Please submit your Certificate Signing Request (CSR):
use the openssl command: openssl req -newkey rsa:2048 -keyout yourname.key -out yourname.csr

在服务器上用这个命令生成了.key 和 .csr文件,把csr的内容复制到浏览器,生成的域名.zip里面有4个压缩包。
之后不知道怎么玩,因为以前的思路固定了思维,对这个玩意儿也没深入理解,只能按照别人的步骤一步一步来,后来发现了上面参考地址,于是一步一步做下来。到最后一步的时候,提示Public keys in reply and keystore don't match。这个又是什么鬼,找了一个下午资料,最后终于知道了。
用openssl 的命令,生成了2个文件,一个.key 一个.csr,

keytool -genkey
#生成了一个.jks文件
keytool -certreq
#生成了一个.csr文件


新生成的.csr文件覆盖了openssl生成的csr文件,于是,用这个csr来做最后一步就会报错公钥不匹配了。

反正正确的顺序是不用openssl的生成,先要有.jks和.csr文件再去startssl申请证书,这样就没问题了。

如果非要用openssl生成.key和.csr文件,接下来怎么做呢?

忽略keytool -genkey 和 ketool -certreq这两个步骤,直接把csr的内容拿去生成证书,只是最后一步导入域名证书的时候会提示<tomcat> already exists.

囧囧囧,好吧,我懒得再研究这个怎么继续下去了,对于这些东西的理解太浅薄,只是额外的工作而已,应该有大能知道怎么再继续下去吧,要是能告诉我就好了。花了2个下午的成果,还好最近不用写代码。
标签:  tomcat https ssl startssl