• 使用OpenSSL签发SSL证书


    使用OpenSSL签发SSL证书

    第一步:随机生成证书签发机构(CA)私钥

    openssl genrsa -out ca_private.key 1024

    第二步:将证书签发机构(CA)的公钥封装成CA证书

    openssl req -new -x509 -days 30 -key ca_private.key -out ca.crt

    第三步:随机生成待签发域名的私钥

    openssl genrsa -out www.baidu.com.private.key 1024

    第四步:生成证书签发请求文件

    openssl req -new -key www.baidu.com.private.key -out www.baidu.com.csr

    第五步:使用CA私钥签发证书

    openssl ca -in www.baidu.com.csr -out /tmp/www.baidu.com.crt -cert ca.crt -keyfile ca_private.key

    www.baidu.com.crt 就是最终签发的SSL证书,可用于部署https网站。以Nginx为例,部署https网站时需要SSL证书(www.baidu.com.crt)和RSA私钥(www.baidu.com.private.key)两个文件。

    注意:OpenSSL默认配置在签发证书时,如果证书请求文件(csr)中含有中文,则在Windows上查看该证书时中文会显示乱码。

    OpenSSL签发证书时遇到的问题:

    1. 提示“The stateOrProvinceName field is different between ...”

    解决方法:修改openssl默认配置文件(/usr/lib/ssl/openssl.cnf),根据情况将"countryName = match"这样的配置指令修改为:"countryName = supplied"。

    2. 提示找不到 demoCA 文件

    解决方法:需要在当前目录创建 demoCA 文件夹,并依次创建以下文件夹和文件:

    demoCA
      index.txt          空文件
      index.txt.attr     空文件
      newcerts           空文件夹
      private            空文件夹
      serial             表示待签发证书的序列号,文件第一行是偶数个16进制数,如:32a6c4;第二行是空行。

    ...

  • 相关阅读:
    nginx的root和alias详解
    nginx location匹配细节讲解
    nginx的域名访问和路径结尾斜杠问题
    redis知识点入门
    nodepad++未保存文件的内容安不安全?
    secureCRT或Xshell的隧道转发详解
    XXE漏洞示例讲解
    内核Hash表hlist Hello
    tracer ftrace笔记(6)—— SQL查询 Hello
    MTK Powerhal 学习笔记 Hello
  • 原文地址:https://www.cnblogs.com/dgjnszf/p/12312571.html
Copyright © 2020-2023  润新知