• openssl证书制作详细教程


    自签名证书及验证

    模拟证书涉及的角色

    1. 创建证书目录
    mkdir ~/certs
    cd ~/certs
    
    1. 认证机构、网站、浏览器/用户
      mkdir root web user

    机构自签名证书生成和发布

    1. 生成私钥
      cd root
      openssl genrsa -des3 -out rootCA.key 2048
    2. 用私钥生成自签证书
      openssl req -x509 -new -nodes -key rootCA.key -out rootCA.cert
    3. 发布证书
      cp rootCA.cert ../web ../user
      模拟证书发布到用户和网站的过程

    给网站签署证书

    由网站生成证书请求

    1. 网站生成私钥
      cd ../web
      openssl genrsa -des3 -out web.org.key 2048
    2. 去除私钥密码
      openssl rsa -in web.org.key -out web.key
    3. 生成证书签名请求
      openssl req -new -key web.key -out web.csr
    4. 请求证书发给机构
      cp web.csr ../root

    机构签署证书

    1. 签署
      cd ../root
      openssl x509 -req -days 365 -in web.csr -CAkey rootCA.key -CA rootCA.cert -CAcreateserial -out web.crt
    2. 签署后的证书 web.crt 发回给网站
      cp web.crt ../web

    网站将证书挂到https服务器

    这一步请移步参考各https容器配置

    用户访问web网站

    1. 模拟用户从网站下载证书
      cd ../user
      cp ../web/web.crt .
    2. 验证网站证书的合法性
      openssl verify -CAfile rootCA.cert -ca-bundle web.crt
      rootCA.cert是机构发布,并得到用户得到信任的根证书,用此证书验证web.crt的合法性。
  • 相关阅读:
    学习c++一点一滴mbstowcs
    学习c++一点一滴读取网络适配器信息
    学习c++一点一滴资源dll的封装和调用
    存储过程
    学习c++一点一滴c++builder 导出excel
    线程池
    Jacob操作office文档(Word,PPT,Excel)
    域名转让
    线程交互
    Scala中的语言特性是如何实现的(2)
  • 原文地址:https://www.cnblogs.com/aauutthh/p/5777633.html
Copyright © 2020-2023  润新知