只写个大概流程,没有具体方法,因为不同环境下方法都不一样


客户机ip:10.1.1.2,服务器ip:10.1.1.1,测试域名:www.cc.com,CA注册域名:ca.cc.com

  • 开两台虚拟机(为方便起见将DNS服务器,WEB服务器和CA部署在同一台主机上),配置IP地址到同一网段,将客户机的DNS指向10.1.1.1,将服务器的DNS指向127.0.0.1

  • 部署WEB服务器,CA注册需要用到

  • 部署DNS服务器,将测试用网站和默认站点添加域名解析,同时配置网站的域名和IP(先用http协议,80端口)

  • 部署CA服务器,完成后在默认站点下增加一个certsrv站点,用于注册数字证书

  • 使用RSA生成秘钥(包含公钥和私钥)

  • 访问刚刚绑定的域名为测试网站注册数字证书,比如我将ca.cc.com解析到10.1.1.1,此时访问ca.cc.com/certsrv

  • 为测试站点申请证书,使用 base64 编码的 CMC 或 PKCS #10 文件提交 一个证书申请,使用刚刚生成的秘钥申请。

  • CA为服务器颁发证书,服务器将证书添加到自己的WEB服务器上

  • 完成证书注册后,为WEB站点添加https协议,443端口,此时已经可以使用https://www.cc.com访问了,但CA并没有起作用,因为客户机还不知道CA的公钥,此时虽然使用https加密传输,但并不能确定服务器的身份,客户机需要先获取CA的公钥。

  • 客户机在CA注册网站下载CA公钥,也就是部署CA时配置的那个站点ca.cc.com/certsrv,之后就可以确定服务器的公钥了,但服务器还无法确认客户机的身份,在一些比较重要的场合,必须确认客户机的身份时,服务器可以强制要求使用SSL,这时客户机也需要到CA注册数字证书。

接下来的步骤都是差不多的。