自签名根证书、中间证书、服务器证书生成流程详解
创始人
2025-01-18 12:04:33
0

文章目录

  • 一、生成根证书
    • 1. 生成根私钥
    • 2. 生成自签名的根证书请求
    • 3. 使用私钥签署自签名的根证书
  • 二、中间证书生成
    • 1. 生成中间私钥
    • 2. 生成中间证书请求
    • 3. 使用根证书私钥签署中间证书请求
    • 4. 验证中间证书
  • 三、服务器证书生成
    • 1. 生成服务器私钥
    • 2. 生成服务器证书请求
    • 3. 使用中间证书私钥签署服务器证书请求
    • 4. 验证服务器证书

一、生成根证书

生成自签名的根证书(Root Certificate)的过程包括生成私钥、生成自签名的根证书。以下是基于 OpenSSL 的步骤:

1. 生成根私钥

openssl genpkey -algorithm RSA -out root_key.pem 

上述命令会生成一个 RSA 算法的私钥文件 root_key.pem

2. 生成自签名的根证书请求

openssl req -new -key root_key.pem -out root_csr.pem 

在这一步中,你需要提供一些信息,如组织名、组织单位、国家等。最终,它会生成一个自签名的根证书请求文件 root_csr.pem

下表列出了执行 openssl req -new -key root_key.pem -out root_csr.pem 时需要填写的一些常见信息及其作用:

FieldDescription
Country Name (2 letter code)两字母的国家代码,例如 “US”。
State or Province Name州或省的全名。
Locality Name (e.g., city)城市或地区的全名。
Organization Name (e.g., company)公司或组织的全名。
Organizational Unit Name (e.g., section)部门或单位的全名。
Common Name (e.g., your name or your server’s hostname)通常是你的服务器的主机名。
Email Address电子邮件地址,用于证书联系。
Challenge Password挑战密码(可选)。
Optional Company Name可选的公司名称。

这些信息将用于填写证书请求文件。在实际情况中,一些字段可能不是必需的,具体取决于你的使用场景和证书颁发机构(CA)的要求。通常,“Common Name” 是最重要的字段,应该设置为与你的服务器域名或主机名相匹配的值。其他字段的值可以根据实际情况填写。

3. 使用私钥签署自签名的根证书

openssl x509 -req -in root_csr.pem -signkey root_key.pem -out root_cert.pem 

这一步将使用之前生成的私钥 root_key.pem 对自签名的证书请求 root_csr.pem 进行签名,生成最终的根证书 root_cert.pem

至此,你已经生成了一个自签名的根证书。请确保妥善保管生成的私钥文件 root_key.pem,因为它是证书签名的关键。

注意:上述步骤是生成自签名根证书的基本步骤。在实际生产环境中,你可能需要更详细的信息,包括使用配置文件来指定证书信息,设置证书有效期限等。

二、中间证书生成

生成中间证书需要遵循一些类似于生成根证书的步骤。中间证书一般是由根证书签署的。以下是生成中间证书的基本步骤:

1. 生成中间私钥

openssl genpkey -algorithm RSA -out intermediate_key.pem 

上述命令会生成一个 RSA 算法的私钥文件 intermediate_key.pem

2. 生成中间证书请求

openssl req -new -key intermediate_key.pem -out intermediate_csr.pem 

在这一步中,你需要提供一些信息,如组织名、组织单位、国家等。最终,它会生成一个中间证书请求文件 intermediate_csr.pem

3. 使用根证书私钥签署中间证书请求

openssl x509 -req -in intermediate_csr.pem -CA root_cert.pem -CAkey root_key.pem -CAcreateserial -out intermediate_cert.pem 

这一步将使用根证书 root_cert.pem 和根私钥 root_key.pem 对中间证书请求 intermediate_csr.pem 进行签名,生成中间证书 intermediate_cert.pem

4. 验证中间证书

openssl verify -CAfile root_cert.pem intermediate_cert.pem 

上述命令用于验证中间证书是否有效,确保它是由根证书签署的。

至此,你已经生成了一个由根证书签署的中间证书。中间证书通常用于构建证书链,形成一个完整的信任链。在实际环境中,你可能还需要考虑中间证书的有效期、使用配置文件来指定证书信息等。

三、服务器证书生成

生成服务器证书的步骤与生成中间证书和根证书类似。服务器证书是由中间证书签署的。以下是生成服务器证书的基本步骤:

1. 生成服务器私钥

openssl genpkey -algorithm RSA -out server_key.pem 

上述命令会生成一个 RSA 算法的私钥文件 server_key.pem

2. 生成服务器证书请求

openssl req -new -key server_key.pem -out server_csr.pem 

在这一步中,你需要提供一些信息,如组织名、组织单位、国家等。最终,它会生成一个服务器证书请求文件 server_csr.pem

3. 使用中间证书私钥签署服务器证书请求

openssl x509 -req -in server_csr.pem -CA intermediate_cert.pem -CAkey intermediate_key.pem -CAcreateserial -out server_cert.pem 

这一步将使用中间证书 intermediate_cert.pem 和中间私钥 intermediate_key.pem 对服务器证书请求 server_csr.pem 进行签名,生成服务器证书 server_cert.pem

4. 验证服务器证书

openssl verify -CAfile intermediate_cert.pem server_cert.pem 

上述命令用于验证服务器证书是否有效,确保它是由中间证书签署的。

至此,你已经生成了一个由中间证书签署的服务器证书。这个服务器证书可以用于配置 Web 服务器、TLS/SSL 终端等。在实际环境中,你可能还需要考虑服务器证书的有效期、使用配置文件来指定证书信息等。

DNSNameMatches

相关内容

热门资讯

总结辅助!购买的wpk辅助在哪... 总结辅助!购买的wpk辅助在哪里下载,德普之星辅助软件,解密教程(存在有挂)购买的wpk辅助在哪里下...
教程攻略!聚财平台辅助,小闲川... 教程攻略!聚财平台辅助,小闲川南宜宾辅助,办法教程(有挂工具)1、全新机制【小闲川南宜宾辅助ai辅助...
玩家亲测!poker worl... 玩家亲测!poker world辅助器,雀友会广东潮汕麻雀,攻略教程(有挂教学)1、全新机制【雀友会...
法门辅助!wpk控制牌是真的吗... 法门辅助!wpk控制牌是真的吗,hhpoker怎么破解,解迷教程(有挂讲解)1、起透看视 wpk控制...
查到实测辅助!情怀莆仙外挂,湖... 查到实测辅助!情怀莆仙外挂,湖北逍遥卡五星辅助,绝活儿教程(果真有挂)1、全新机制【湖北逍遥卡五星辅...
据统计!wepoker怎么设置... 据统计!wepoker怎么设置房间,hhpoker大菠萝有没有作比,模板教程(有挂技巧)1、全新机制...
模板辅助!wepoker透视a... 模板辅助!wepoker透视app下载,wepoker俱乐部辅助,曝光教程(发现有挂)1、下载好we...
教程辅助!乐乐围棋入门辅助,爱... 教程辅助!乐乐围棋入门辅助,爱来大菠萝挂,教材教程(有挂分析)1、不需要AI权限,帮助你快速的进行乐...
技术分享!werplan免费挂... 技术分享!werplan免费挂下载,天酷游戏交易平台,手筋教程(有挂方法)1、下载好天酷游戏交易平台...
法门辅助!wepoker开脚本... 法门辅助!wepoker开脚本视频,aapoker透视脚本下载,了解教程(有挂教学)aapoker透...