• 用openssl.exe 来生成证书


    要做一个带https RESTserver 就一定要通过 openssl.exe 来生成证书

    openssl语句


    set OPENSSL_CONF=c:OpenSSL-Win32inopenssl.cfg

    x509证书一般会用到三类文件,key,csr,crt。
    Key 是私用密钥,openssl格式,通常是rsa算法。
    csr是证书请求文件,用于申请证书。在制作csr文件的时候,必须使用自己的私钥来签署申请,还可以设定一个密钥。
    crt是CA认证后的证书文件(windows下面的csr,其实是crt),签署人用自己的key给你签署的凭证

    *.key:密钥文件,一般是SSL中的私钥;
    *.csr:证书请求文件,里面包含公钥和其他信息,通过签名后就可以生成证书;
    *.crt, *.cert:证书文件,包含公钥,签名和其他需要认证的信息,比如主机名称(IP)等。
    *.pem:里面一般包含私钥和证书的信息。

    ###生成key

    openssl genrsa -des3 -out server.key 2048
    //也可以取消上面要求输入的密码
    openssl rsa -in server.key -out server.key
    ###生成csr

    openssl req -new -key server.key -out server.csr
    需要输入国家,地区,组织,email等信息
    最重要的是,有一个common name,可以写你的名字或者域名。如果为了https申请,这个必须和域名吻合,否则会引发浏览器警报。
    生成的csr文件交给CA签名后形成服务端自己的证书crt
    ###自己充当CA角色生成crt

    ####首先需要生成CA角色需要的ca.crt

    openssl req -new -x509 -key server.key -out ca.crt -days 3650
    ####利用上面的ca.crt签名

    openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt

    openssl req -new -x509 -key server.key -out server.pem -days 3650


    CSR文件必须有CA的签名才可形成证书.可将此文件发送到verisign等地方由它验证,要交一大笔钱,何不自己做CA呢.
    -CA选项指明用于被签名的csr证书
    -CAkey选项指明用于签名的密钥
    -CAserial指明序列号文件,而-CAcreateserial指明文件不存在时自动生成

  • 相关阅读:
    codevs2034 01串2
    codevs2622数字序列( 连续子序列最大和O(n)算法)
    codevs3008加工生产调度(Johnson算法)
    codevs1955光纤通信(并查集)
    codevs4203山区建小学
    codevs2618核电站问题
    常用端口
    ntp时间同步服务器
    date linux系统校正时间
    用户切换
  • 原文地址:https://www.cnblogs.com/fehdd/p/6889619.html
Copyright © 2020-2023  润新知