zoukankan      html  css  js  c++  java
  • 用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指明文件不存在时自动生成

  • 相关阅读:
    零知识证明,中间人攻击,盲签名:原理和应用——三篇密码学科普文章
    json
    优化自己的编写出来的C#程序
    C++中不同的继承方式
    C语言程序编写涉及内存的问题
    面向Android的Tesseract工具
    常见Linux使用的十大问题
    Java语言链接数据库连接池配置的两种技巧
    配置数据库连接池的技巧
    PHP和Java在Web开发下相比较
  • 原文地址:https://www.cnblogs.com/fehdd/p/6889619.html
Copyright © 2011-2022 走看看