• tsl/ssl 证书制作记录


    生成自签名证书

    1. 生成服务端秘钥

      $ openssl genrsa -out server.key 1024
      
    2. 生成证书请求文件

      • 编写配置文件openssl.cnf
      $ vi openssl.cnf
      [req]
      req_extensions = v3_req
      distinguished_name = req_distinguished_name
      [req_distinguished_name]
      countryName = CN
      countryName_default = CN
      stateOrProvinceName = ZheJiang
      stateOrProvinceName_default = ZJ
      localityName = HangZhou
      localityName_default = HZ
      organizationalUnitName  = Swaf
      organizationalUnitName_default  = SF
      commonName = Swaf Tech Ltd
      commonName_max  = 64
      [ v3_req ]
      basicConstraints = CA:FALSE
      keyUsage = nonRepudiation, digitalSignature, keyEncipherment
      subjectAltName = @alt_names
      [alt_names]
      DNS.1 = dog.swaf.cn
      DNS.2 = cat.swaf.cn
      
      • 生成csr文件
      $ openssl req -new -key server.key -out server.csr -config openssl.cnf
      

      也可以不使用openssl.conf文件,这样执行以上命令是根据命令行提示输入相关信息即可。不过这里使用了X509 SAN(subjectAltName)扩展,通过alt_names指定多个域名,这样制作的证书可以被多个域名使用,如果只需支持单个域名(可以是通配符,如 *.xxx.com),可以不需要该文件,在命令行提示中的common name中指定域名即可。

    3. 生成自签名证书

      $ openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt -extensions v3_req -extfile openssl.cnf
      

    这样便生成了可用的服务端证书。将私有sever.key和证书serves.crt安装在服务端(配置在tomcat,nginx等),然后在客户端安装server.crt证书即可。

    生成ca签名证书

    1. 生成ca证书并自签名

      $ openssl genrsa -out server.key 1024  //ca秘钥
      $ openssl req -new -key ca.key -out ca.csr //根据提示输入ca相关信息
      $ openssl x509 -req -in ca.csr -extensions v3_ca -signkey ca.key -out ca.crt //ca自签名证书
      
    2. 生成服务端证书并使用ca签名

      $ openssl genrsa -out server.key 1024
      $ openssl req -new -key server.key -out server.csr -config openssl.cnf   //openssl.cnf文件同上
      $ openssl x509 -req -days 3650 -extensions v3_req -extfile openssl.cnf -CA ca.crt -CAkey ca.key -CAcreateserial -in server.csr -out server.crt    //生成ca签名的服务端证书
      

    这样便生成了ca签名的服务端证书。将私有sever.key和证书serves.crt安装在服务端(配置在tomcat,nginx等),然后在客户端安装ca.crt证书即可。

  • 相关阅读:
    编程的核心思维
    对编程语言的一点总结
    End Poem
    linux下的errno对照表
    C++中的三个特殊宏:__FILE__,__FUNCTION__和__LINE__
    算法——从斐波那契数列谈起(一)
    [题解][HNOI2002][Luogu P2234] 营业额统计
    用STL水平衡树的题
    浅谈C++的智能指针
    cnblog代码高亮优化(tomorrow主题)
  • 原文地址:https://www.cnblogs.com/dreamvibe/p/9865720.html
Copyright © 2020-2023  润新知