找好好多文章,使用openssl生成的证书都不是很好用(证书使用后apache无法启动),找到下面作者的文章三步就搞定了。不错。
apache从2.x开始,有带openssl的版本和不带openssl的版本,如果要使用ssl,建议安装带openssl的版本,这样基本不用找其它的组件,按照下面作者的文章一下就能搞定。(开始从网上找的资料试验了一下午也不好用。)
希望能帮助你。
这些天用apache common-httpclient写些通讯代码,要用到SSL,于是需要做apache的SSL证书,google和baidu了多篇文章,都不是很满意,不是年代久远,就是语焉不详,照着这些文章拍命令行,没有多少是顺利生成证书的,于是向同事jerry,在这位php兼linux highand的帮助下,解决了燃眉之急,这里记录一二。我用的apache版本是apache2.2.3 for windows,openssl使用的是0.9.8,这些软件可以google后下载,在windows平台或者linux平台都可以按以下命令生成证书:
步骤1:生成密钥
命令:openssl genrsa 1024 > server.key
说明:这是用128位rsa算法生成密钥,得到server.key文件
步骤2: 生成证书请求
命令:openssl req -new -key server.key > server.csr
说明:这是用步骤1的密钥生成证书请求文件server.csr, 这一步提很多问题,一一输入
步骤1:生成密钥
命令:openssl genrsa 1024 > server.key
说明:这是用128位rsa算法生成密钥,得到server.key文件
步骤2: 生成证书请求
命令:openssl req -new -key server.key > server.csr
说明:这是用步骤1的密钥生成证书请求文件server.csr, 这一步提很多问题,一一输入
PS:特别注明:Common Name 项请输入您要申请域名证书的域名,如果您需要为www.domain.cn 申请域名证书就不能只输入domain.cn。域名证书是严格绑定域名的。 如果输入IP,那访问是就在地址输入IP,否则会出现安全证书提示信息。
步骤2: 生成证书请求
命令:openssl req -x509 -days 365 -key server.key -in server.csr > server.crt
说明:这是用步骤1,2的的密钥和证书请求生成证书server.crt,-days参数指明证书有效期,单位为天
把得到的server.key和server.crt文件拷贝到apache的对应目录,具体就不做介绍了。另外说明,这些个证书制作仅仅供开发使用。
写下这些文字的同时感谢我的同事jerry,尽管他不会看到这篇blog,呵呵。
步骤2: 生成证书请求
命令:openssl req -x509 -days 365 -key server.key -in server.csr > server.crt
说明:这是用步骤1,2的的密钥和证书请求生成证书server.crt,-days参数指明证书有效期,单位为天
把得到的server.key和server.crt文件拷贝到apache的对应目录,具体就不做介绍了。另外说明,这些个证书制作仅仅供开发使用。
写下这些文字的同时感谢我的同事jerry,尽管他不会看到这篇blog,呵呵。