zoukankan      html  css  js  c++  java
  • 使用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;第二行是空行。

    ...

  • 相关阅读:
    手写spring事务框架, 揭秘AOP实现原理。
    centos7修改端口登陆
    数据库的锁机制
    linux安装mysql5.6
    SpringMVC数据格式化
    Java处理小数点后几位
    docker学习(七)常见仓库介绍
    docker学习(六) Docker命令查询
    docker学习(六)
    docker学习(五)
  • 原文地址:https://www.cnblogs.com/dgjnszf/p/12312571.html
Copyright © 2011-2022 走看看