• 使用Openssl创建证书


    概述

    SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socketlayer(SSL),SSL安全协议主要用来提供对用户和服务器的认证;对传送的数据进行加密和隐藏;确保数据在传送中不被改变,即数据的完整性,现已成为该领域中全球化的标准。


    x509证书一般会用到三类文件,key,csr,crt。

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

    首先要有一个CA根证书,然后用CA根证书来签发用户证书。用户进行证书申请:一般先生成一个私钥,然后用私钥生成证书请求(证书请求里应含有公钥信息),再利用证书服务器的CA根证书来签发证书。


    生成CA根证书

    生成CA私钥(.key)-->生成CA证书请求(.csr)-->自签名得到根证书(.crt)(CA给自已颁发的证书)。

    # Generate CA private key 
    openssl genrsa -out ca.key 2048 
    # Generate CSR 
    openssl req -new -key ca.key -out ca.csr
    # Generate Self Signed certificate(CA 根证书)
    openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt
    

    生成用户证书

    生成私钥(.key)-->生成证书请求(.csr)-->用CA根证书签名得到证书(.crt)

    服务器端用户证书:
    # private key
    $openssl genrsa -des3 -out server.key 1024 
    # generate csr
    $openssl req -new -key server.key -out server.csr
    # generate certificate
    $openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key 
    
    客户端用户证书:
    $openssl genrsa -des3 -out client.key 1024 
    $openssl req -new -key client.key -out client.csr
    $openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key
    

    参考链接

    openssl生成SSL证书的流程

    OpenSSL生成.key、.crt、.pfx证书(Windows下)

    SSL证书格式转换工具

  • 相关阅读:
    C语言程序设计I—第四周教学
    C语言程序设计I—第三周教学
    C语言程序设计I—第一周教学
    软工实践(四)——热词统计
    软工实践(三)——结对第一次作业(原型设计)
    软工实践(二)——构建之法读后感
    软工实践(一)——目标和规划
    庄子修身养性哲学
    $Matrix-Tree$定理-题目
    $Matrix-Tree$定理-理论
  • 原文地址:https://www.cnblogs.com/taro/p/9930098.html
Copyright © 2020-2023  润新知