小计-- 在IIS6上更新godaddy SSL证书

今天公司一台老服务器上的IIS6上的godaddy证书到期,要更新一下,折腾了2小时,小计一下,以防忘记。

windows机器上的IIS6上的SSL证书和linux服务器上的openssl上的证书有一点点区别,它的key私钥文件是隐藏的。如果要更新,要使用IIS中的证书向导。

首先是到godaddy去续费

godaddy新加坡

更新IIS6上的 SSL证书

  • 具体操作方式如下:

    1. 在IIS管理器中,右击站点–属性–目录安全–点击服务器证书–打开IIS证书向导:
    2. 选择更新当前证书
    3. 默认用准备证书请求,生成一个证书请求文件,把里面的内容用记事本黏贴出来。
    4. 在godaddy官网登录,进入对应域名的证书下,选择重新生成密钥和管理:
    5. 然后,把黏贴的请求内容贴地去,保存并提交:
    6. 最后,在godaddy重新签发证书后,下载IIS证书,并重新打开IIS证书向导,选择第一项继续证书更新操作,最后导入新的IIS证书文件(.crt)的那个文件,完成证书续费更新。在IIS属性–目录安全,点击查看证书,可以查看到证书有效期是否更新到了新的日期。

      把windows 的pfx 格式证书转成linux上nginx可用的pem证书

      讲讲如果这个证书是一个通配符证书的话,如何把windows机器上的这个证书连私钥一起给导出来,用在linux服务器的nginx上(因为通配符证书可以用在一个域的多个子域名上,有的子域名可能是linux服务器上的应用)
  • 用IIS证书向导导出pfx格式的证书文件(包括私钥在里面喔,可以加个密码)

  • 把导出的文件在linux服务器上用openssl命令转成pem格式。

    1
    2
    3
    4
    5
    # certificate.pfx 为导出的pfx文件
    # 跑下面的命令,输入密码后,就可以了
    openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes
    Enter Import Password:
    MAC verified OK

PXF转PEM后,certificate.cer文件包含认证证书和私钥,需要把它们分开存储才能使用。把 certificate.cer文件中,—-BEGIN PRIVATE KEY—- 到 —-END PRIVATE KEY —-的内容存成 youdomain.name.com.key文件(.key的私钥文件); 把certificate.cer文件中,—-BEGIN CERTIFICATE—- 到 —-END CERTIFICATE —-的内容存成 youdomain.name.com.crt文件(.crt证书文件),记得把中级证书文件的内容也加在 youdomain.name.com.crt文件内容后面。最后按正常的nginx的ssl配置就可以了。

把linux上nginx证书转成windows上可用的pfx证书

这次是反过来,把linux上nginx证书转成windows上可用的pfx证书。为什么会有这个需求呢?因为godaddy默认是自动更新继费你的证书。在godaddy上下载nginx用的crt证书后,可以用下面的命令生成一个windows用的fpx证书,然后导入到windows服务器上,给IIS使用。

1
openssl pkcs12 -export -out xxx.com.20191212.pfx -inkey xxx.com.key -in xxx.com.crt

坚持原创技术分享,您的支持将鼓励我继续创作!