OpenSSL 生成根证书、中间证书和网站证书

OpenSSL 生成根证书、中间证书和网站证书

一、生成根证书(ChinaRootCA)

  1. 创建私钥:

    openssl genrsa -out ChinaRootCA.key 2048
    
  2. 创建根证书的证书签名请求(CSR):

    openssl req -new -key ChinaRootCA.key -out ChinaRootCA.csr
    

    在这个过程中,需要根据提示输入国家、地区、组织名称等信息,例如国家填"CN",地区填"Beijing"等,组织名称可自定义为"China Root CA Organization"等。

  3. 自签名生成根证书:

    openssl x509 -req -in ChinaRootCA.csr -signkey ChinaRootCA.key -out ChinaRootCA.crt -days 3650
    

二、生成中间 CA(GuangDongCA)

  1. 创建私钥:

    openssl genrsa -out GuangDongCA.key 2048
    
  2. 创建证书签名请求:

    openssl req -new -key GuangDongCA.key -out GuangDongCA.csr
    

    同样输入相应信息,组织名称可填"Guangdong Intermediate CA Organization"等。

  3. 使用根证书签名生成中间 CA 证书:

    openssl x509 -req -in GuangDongCA.csr -CA ChinaRootCA.crt -CAkey ChinaRootCA.key -CAcreateserial -out GuangDongCA.crt -days 3650
    

三、生成网站证书(gdzwfw)

  1. 创建私钥:

    openssl genrsa -out gdzwfw.key 2048
    
  2. 创建证书签名请求并添加域名信息:

    openssl req -new -key gdzwfw.key -out gdzwfw.csr -subj "/CN=www.gdzwfw.gov.cn" -reqexts v3_req
    

    在创建请求时,可以添加 -reqexts v3_req 参数来启用扩展,以便后续添加多个域名。

  3. 创建配置文件(例如 gdzwfw.cnf)用于指定多个域名:

    [req]
    req_extensions = v3_req
    [v3_req]
    subjectAltName = @alt_names
    [alt_names]
    DNS.1 = www.gdzwfw.gov.cn
    DNS.2 = www.gd.gov.cn
    DNS.3 = tyrz.gd.gov.cn
    
  4. 使用中间 CA 签名生成网站证书:

    openssl x509 -req -in gdzwfw.csr -CA GuangDongCA.crt -CAkey GuangDongCA.key -CAcreateserial -out gdzwfw.crt -days 365 -extfile gdzwfw.cnf
    
相关推荐
网络安全-老纪2 小时前
iOS应用网络安全之HTTPS
web安全·ios·https
Lws6 小时前
CS144 lab0(个人理解)
网络协议
C++忠实粉丝10 小时前
计算机网络socket编程(2)_UDP网络编程实现网络字典
linux·网络·c++·网络协议·计算机网络·udp
添砖java_85710 小时前
UDP数据报套接字编程
网络·网络协议·udp
lxkj_202412 小时前
修改ffmpeg实现https-flv内容加密
网络协议·https·ffmpeg
千羽星弦13 小时前
Apache和HTTPS证书的生成与安装
网络协议·https·apache
程序猿小D16 小时前
第三百三十节 Java网络教程 - Java网络UDP服务器
java·开发语言·网络·网络协议·udp·多线程
是理不是里_21 小时前
常见的网络协议汇总(涵盖了不同的网络层次)
网络·网络协议
Peter_chq1 天前
【计算机网络】HTTP协议
linux·c语言·开发语言·网络·c++·后端·网络协议
琢瑜1 天前
TCP 三次握手和四次挥手
网络·网络协议·tcp/ip·linux网络编程