最近在做一个项目,该项目先前是用.NET做的,现需要用PHP重写。开发完毕后,需要把IIS上的SSL证书迁移到Apache环境下。
解决方法:
大体分三步
一、先到IIS下将证书文件导出
1.开始->运行->MMC
2.菜单->文件->添加/删除管理单元
3.选择证书项,并添加
4.在向导中,选择计算机帐户…..详细步骤不说了
5.在导出时需要输出一个密码,注:该密码在apache下生成key与cert时有用。
二、到Apache下使用 openssl pkcs12 从导出的PFX文件中提取key与cert文件
1.将导出的pfx文件复制到apache的openssl中,避免由于环境变量没设置,导致的路径问题
2.进入cmd窗口,输入以下指令
- openssl pkcs12 -in xxx.pfx -nodes -out xxx.pem
- openssl rsa -in xxx.pem -out xxx.key
- openssl x509 -in xxx.pem -out xxx.crt
三、在Apache的配置文件中使用以下指令来安装
- SSLCertificateFile “xxx.crt”
- SSLCertificateKeyFile “xxx.key”