配合阿里云Slb证书过程

以下全部是阿里的官方文档,这里只是备份。

使用OpenSSL生成自签CA证书
前提条件
确保您已经了解负载均衡的证书要求。
操作步骤

  1. 运行以下命令在/root目录下新建一个ca文件夹,并在ca文件夹下创建四个子文件夹。
  2. $ sudo mkdir ca
  3. $ cd ca
  4. $ sudo mkdir newcerts private conf server
    o newcerts目录将用于存放CA签署过的数字证书(证书备份目录)。
    o private目录用于存放CA的私钥。
    o conf目录用于存放一些简化参数用的配置文件。
    o server目录存放服务器证书文件。
  5. 在conf目录下新建一个包含如下配置信息的openssl.conf文件。
  6. [ ca ]
  7. default_ca = foo
  8. [ foo ]
  9. dir = /root/ca
  10. database = /root/ca/index.txt
  11. new_certs_dir = /root/ca/newcerts
  12. certificate = /root/ca/private/ca.crt
  13. serial = /root/ca/serial
  14. private_key = /root/ca/private/ca.key
  15. RANDFILE = /root/ca/private/.rand
  16. default_days = 365
  17. default_crl_days= 30
  18. default_md = md5
  19. unique_subject = no
  20. policy = policy_any
  21. [ policy_any ]
  22. countryName = match
  23. stateOrProvinceName = match
  24. organizationName = match
  25. organizationalUnitName = match
  26. localityName = optional
  27. commonName = supplied
  28. emailAddress = optional
  29. 运行以下命令生成私钥key文件。
  30. $ cd /root/ca
  31. $ sudo openssl genrsa -out private/ca.key
    运行结果如下图所示。
Paste_Image.png
  1. 运行以下命令,并按命令后的示例提供需要输入的信息,然后回车,生成证书请求csr文件。
  2. $ sudo openssl req -new -key private/ca.key -out private/ca.csr
Paste_Image.png
  1. 运行以下命令生成凭证crt文件。
  2. $ sudo openssl x509 -req -days 365 -in private/ca.csr -signkey private/ca.key -out private/ca.crt
  3. 运行以下命令为key设置起始序列号,可以是任意四个字符。
  4. $ sudo echo FACE > serial
  5. 运行以下命令创建CA键库。
  6. $ sudo touch index.txt
  7. 运行以下命令为移除客户端证书创建一个证书撤销列表。
  8. $ sudo openssl ca -gencrl -out /root/ca/private/ca.crl -crldays 7 -config "/root/ca/conf/openssl.conf"
    运行结果为:
  9. Using configuration from /root/ca/conf/openssl.conf
  10. 运行以下命令,查看生成的CA证书。
  11. cd private
  12. ls
Paste_Image.png

生成客户端证书。
前提条件
• 确保您已经了解负载均衡的证书要求。
• 您已经生成了CA证书。
操作步骤

  1. 运行以下命令在ca目录创建存放key的目录users。
  2. $ sudo mkdir users
  3. 运行以下命令为客户端创建一个key。
  4. $ sudo openssl genrsa -des3 -out /root/ca/users/client.key 1024
    创建key时需要输入pass phrase,这个是当前key的口令,以防止本密钥泄漏后被人盗用。两次输入同一个密码。
  5. 运行以下命令为key创建一个证书签名请求csr文件。
  6. $ sudo openssl req -new -key /root/ca/users/client.key -out /root/ca/users/client.csr
    根据提示输入上一步保存的pass phrase后并按回车键。
    然后根据提示输入要求提供的信息。
    注意:A challenge password是客户端证书口令(请注意将它和client.key的口令区分开),可以与服务器端证书或者根证书口令一致。
Paste_Image.png
  1. 运行以下命令使用您的CA Key为刚才的客户端key签名。
    $ sudo openssl ca -in /root/ca/users/client.csr -cert /root/ca/private/ca.crt -keyfile /root/ca/private/ca.key -out /root/ca/users/client.crt -config "/root/ca/conf/openssl.conf"
    当出现确认是否签名的提示时,两次都输入y。
Paste_Image.png
  1. 运行以下命令将证书转换为大多数浏览器都能识别的PKCS12文件。
    $ sudo openssl pkcs12 -export -clcerts -in /root/ca/users/client.crt -inkey /root/ca/users/client.key -out /root/ca/users/client.p12
    按照提示输入客户端client.key的pass phrase后按回车键。
    然根据提示输入用于导出证书的密码。这个是客户端证书的保护密码,在安装客户端证书时需要输入这个密码。
Paste_Image.png
  1. 运行以下命令查看生成的客户端证书。
  2. cd users
  3. ls
Paste_Image.png

注意:在使用HTTPS负载均衡服务前,确保您已经把生成的客户端证书PKCS12安装到了使用负载均衡服务的客户端。详情参考配置HTTPS双向认证。

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!最重要的一步,转换格式上传到阿里云。

PFX转换为PEM

  1. 运行以下命令提取私钥。
    openssl pkcs12 -in certname.pfx -nocerts -out key.pem -nodes
  2. 运行以下命令提取证书。
    openssl pkcs12 -in certname.pfx -nokeys -out cert.pem

以上则是全部过程,但是本人对证书这个技术真的很不擅长,有很多不明白的地方,这个证书只需要在Slb中上传一次即可供所有服务器使用,按道理来说这是很鸡肋的,如果有懂得大神,请留言告知,本人虚心受教。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容