自签名根证书、中间证书、服务器证书生成流程详解
创始人
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

相关内容

热门资讯

详情透视!智星菠萝辅助,德州辅... 详情透视!智星菠萝辅助,德州辅助工具到底怎么样(透视)确实是有辅助攻略(哔哩哔哩)1、德州辅助工具到...
辅助透视!pokemmo脚本手... 辅助透视!pokemmo脚本手机版,德州局脚本(透视)本来是有辅助工具(哔哩哔哩)1、首先打开pok...
专业透视!红龙poker辅助器... 专业透视!红龙poker辅助器免费观看,xpoker辅助工具(透视)切实存在有辅助攻略(哔哩哔哩)1...
普及透视!pokemmo脚本辅... 普及透视!pokemmo脚本辅助下载,来玩app破解(透视)一直存在有辅助技巧(哔哩哔哩)pokem...
辅助透视!红龙poker有辅助... 辅助透视!红龙poker有辅助吗,德州真人透视脚本(透视)竟然有辅助攻略(哔哩哔哩)1)德州真人透视...
揭露透视!大菠萝789辅助器下... 揭露透视!大菠萝789辅助器下载,werplan透视挂(透视)一直是真的有辅助app(哔哩哔哩)1)...
必备透视!德州圈脚本,德州透视... 必备透视!德州圈脚本,德州透视是真的假的(透视)好像真的是有辅助攻略(哔哩哔哩)进入游戏-大厅左侧-...
解迷透视!菠萝辅助器免费版的特... 解迷透视!菠萝辅助器免费版的特点,pokemmo辅助脚本(透视)真是是真的有辅助工具(哔哩哔哩)1、...
曝光透视!德州透视竞技联盟,约... 曝光透视!德州透视竞技联盟,约局吧德州真的有透视挂吗(透视)好像真的是有辅助工具(哔哩哔哩)1、首先...
专业透视!aa poker辅助... 专业透视!aa poker辅助包,wepoker安装教程(透视)其实一直都是有辅助软件(哔哩哔哩)1...