上文(网络安全通讯(1)—-给你的Webserver启用SSL)我们讲解了我们如何能够保证我们的服务器和客户端之间的安全通讯。
但是有些时候,用户凭什么相信你呢,你总得想办法证明你的身份吧。该CA(Certificate Authority)出场了,CA是一个大家都相信的第三方,因为你的客户相信CA,而CA又说你(你的服务器)是可以被信任的,那么你的客户就会相信你。所以刚才那个自签名的证书可是不行,你需要ca用他的key给你签个名字,这样别人才相信不是。
Q:我们不认识CA怎么办?
A:去公认的CA申请啊!
Q:难道就我们自己用也要申请?
A:好吧,我们可以自己假装自己就是CA,只要大家相信你就好。
我们开始假装CA,创建自己的CA。
1. 建立CA私钥
openssl genrsa -out ca.key 1024
2. 建立自己的CRT文件
openssl req -new -x509 -key ca.key -out ca.crt -days 3600
3. 用自己的CA文件签署刚刚的服务器CSR,生成服务器证书
openssl x509 -req -days 360 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt
注意,这里的参数-CAcreateserial会建立一个serial文件ca.srl,用来记录ca的serial number,如果你已经有了这个文件,那么请使用-CAserial serial_file替换-CAcreateserial参数。
4. 使用新的server.key和server.crt文件,重启apache,再次访问。看一下你的浏览器说什么,是不是此时的Issuer已经是你自己的CA了?
如果你是使用第三方的CA,你就需要把你的server.csr发给他们,然后他们会签一个证书发挥给你的。
此时我们的客户已经相信了你的服务器了。
好了本本没电了,明天我们再讨论如何相信你的客户吧。
0 Responses
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.