向StartSSL申请个人域名SSL证书

  为方便在外时访问,NAS使用了DDNS服务并绑定了jeeker.net的一个子域名,同时启用了HTTPS连接以增强安全性,于是由于证书问题,每次访问NAS总出现烦人的警告。

Chrome SSL Warning

  解决这个问题的唯一方法当然就是安装一个有效的SSL证书,但向CA机构申请证书一年少者几十多者数千美元,很不划算,好在互联网上总不缺免费午餐StartSSL就是很好的选择,下面就以它为例了解下SSL证书的申请和安装过程。

注册

  StartSSL使用的是证书认证,而不是一般网站的用户名+密码的认证方式,因此注册和登陆方式也有所不同。

Sign Up

  1. 进入注册页面填写表单,这些选项都必须填写,当然除了邮箱你都可以使用虚假的信息,但至少要看起来像真的,否则可能无法通过审核。
  2. 当你收到了类似的邮件表明你已经注册成功了,访问链接准备生成代表你身份的证书。
  3. 输入邮件内的验证码后就可以开始生成你的私人证书了,选项默认即可。
  4. 安装证书到浏览器。
  5. 完成,点击'Backup this Certificate'备份你的证书,证书是验证你身份唯一方法,如果丢失就只能重新注册账户了,此时证书已经安装到浏览器了,因此你也可以从浏览器中备份证书

验证域名

  在创建证书之前需要先验证域名的所有权。

Validations Wizard

  1. 进入Control Panel(可能需要点击Authenticate并使用上一步生成的证书才能看到图示的页面),选择Validations Wizard,类型选择Domain Name Validation
  2. 输入域名。
  3. 选择一个有效的邮箱接收验证码,可以使用域名WHOIS中的邮箱或默认网站管理者邮箱(没有带域名的邮箱可选择使用网易免费企业邮等服务)。
  4. 收到邮件后,输入邮件中的验证码。
  5. 域名所有者验证成功。

生成证书

Certificates Wizard

  1. 选择Certificates Wizard进入SSL证书生成向导,证书目标选择Web Server SSL/TLS Certificate
  2. 输入10-32位密码生成秘钥。
  3. 备份秘钥,将文本框内的内容保存成一个文本文件,如ssl.key。
  4. 选择上一步验证了的域名。
  5. 添加子域名。
  6. 确认域名子域名信息,准备生成证书。
  7. 备份生成的证书,将文本框内容保存成一个文本文件,如ssl.crt。在下面intermediate链接中下载中间证书sub.class1.server.ca.pem

解密秘钥

  在使用证书证书之前还需要对生成的秘钥解密,可使用命令openssl rsa -in ssl.key -out ssl_decrypted.key,或者是StartSSL提供的工具: Tool Box - Decrypt Private Key,生成的内容另存为文件,如ssl_decrypted.key

Decrypt Private Key

导入证书

  登陆Synology NAS DSM,进入控制面板 - DSM设置 - HTTP服务 - 导入证书,选择前面生成的文件:

  • 秘钥 ssl_decrypted.key 解密过的。
  • 证书 ssl.crt。
  • 中间证书 sub.class1.server.ca.pem,如果前面忘记下载还可以在这里找到。

  点击确定重启网页服务器。

Import Certificate

  至此SSL证书安装完成,此时访问NAS就不会再有烦人的警告了,地址栏边上淡绿色的小锁清楚的告诉你已经经过认证了,网站身份是合法有效并值得信赖的。

HTTPS

TIP:

  • StartSSL证书的有效期为一年,到期后重新申请即可。
  • 重复上面的操作可以为多个子域名申请证书。
  • 证书可以随时从Tool box - Retrieve Certificate要回,但秘钥只有在生成证书时才能获取,而证书和秘钥只有配对才有效,所以切记保管好你的秘钥。
  • 本文以Synology NAS(Apache)为例安装证书,当然也可以给其它主流的网站服务器安装,方法可见官方教程

REF: