zoukankan      html  css  js  c++  java
  • openssl生成SSL证书

    一、虚构一个CA认证机构
    
    # 生成CA认证机构的证书密钥key
    # 需要设置密码,输入两次
    openssl> genrsa -des3 -out ca.key 1024
    
    # 去除密钥里的密码(可选)
    # 这里需要再输入一次原来设的密码
    openssl> rsa -in ca.key -out ca.key
    
    # 用私钥ca.key生成CA认证机构的证书ca.crt
    # 其实就是相当于用私钥生成公钥,再把公钥包装成证书
    openssl> req -new -x509 -key ca.key -out ca.crt -days 365
    # 这个证书ca.crt有的又称为"根证书",因为可以用来认证其他证书
    
    二、生成网站的证书
    
    # 生成自己网站的密钥server.key
    openssl> genrsa -des3 -out server.key 1024
    
    # 生成自己网站证书的请求文件
    # 如果找外面的CA机构认证,也是发个请求文件给他们
    # 这个私钥就包含在请求文件中了,认证机构要用它来生成网站的公钥,然后包装成一个证书
    openssl> req -new -key server.key -out server.csr
    
    # 使用虚拟的CA认证机构的证书ca.crt,来对自己网站的证书请求文件server.csr进行处理,生成签名后的证书server.crt
    # 注意设置序列号和有效期(一般都设1年)
    openssl> x509 -req -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt -days 365
    
    三、文件解释
    
    .crt/.cer 证书(Certificate)
    .key      密钥/私钥(Private Key)
    .csr      证书认证签名请求(Certificate signing request)
    *.pem     base64编码文本储存格式,可以单独放证书或密钥,也可以同时放两个;base64编码就是两条-------之间的那些莫名其妙的字符
    *.der     证书的二进制储存格式(不常用)
    
    四、创建参考
    
    openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server_csr.txt -subj "/C=*Country*/ST=*State or Province*/L=*Locality or City*/O=*Company*/OU=*Organizational unit*/CN=*Common Name*"
    
    Country:             use a valid 2-letter country-code.
    State or Province:   use your state or Province name, or use the Locality name if you have none.
    Locality or City:    use your city, town or other locality name.
    Company:             use your company/organization name or put NA (Not Applicable).
    Organizational Unit: use your unit or department name or put NA (Not Applicable).
    Common Name:         put your domain name here (i.e. www.nctest.info or nctest.info), put *.domain_name (i.e. *.nctest.info) if you are using a wildcard type SSL.
    
    五、快速创建
    
    1. 生成私钥server.key
    
    openssl genrsa -des3 -out server.key 2048
    openssl rsa -in server.key -out server.key
    chmod 400 server.key
    
    2. 生成服务认证server.crt
    
    openssl req -new -key server.key -days 3650 -out server.crt -x509 -subj '/C=CN/ST=GuangDong/L=Shenzhen/O=CiticBank/CN=Dragonz-user/emailAddress=root@localhost' 
    
    3. root.crt
    cp server.crt root.crt
  • 相关阅读:
    HDU1050
    POJ3528移石头
    CodeForces230A
    lca学习题
    rmq的st算法模板题 nyoj 119
    rmq问题和lca可以相互转化
    rmq算法,利用倍增思想
    poj 1274 基础二分最大匹配
    hdu 1520 树形dp入门题
    poj 1466 最大独立集
  • 原文地址:https://www.cnblogs.com/Dragonzlx/p/13520947.html
Copyright © 2011-2022 走看看