本文的主要目的是如何使用openssl生成服务器和客户端证书,并使用apache来搭建https服务器,本文的内容主要来源于网上的其他的帖子,不过假如了一些修正:
例如:http://www.7880.com/Info/Article-62f7b180.html 和 https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/50333
1: 概念
A: SSL所使用的证书可以是自己建的生成的,也可以通过一个商业性CA如Verisign 或 Thawte签署证书。
B: 证书的概念:首先要有一个根证书,然后用根证书来签发服务器证书和客户证书,一般理解:服务器证书和客户证书是平级关系。在SSL必须安装根证书和服务器证书来认证.
因此:在此环境中,至少必须有三个证书:即根证书,服务器证书,客户端证书,在生成证书之前,一般会有一个私钥,同时用私钥生成证书请求,再利用证书服务器的根证来签发证书。
C: 签发证书的问题:我最近找了很多关于openssl的资料,基本上只生成了根证书和私钥及服务器证书请求,并没有真正的实现签证。我这里参考了一些资料,用openssl自带的一个CA.sh来签证书,而不是用MOD_ssl里的sign.