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

相关内容

热门资讯

实测分享,wepoker透视挂... wepoker透视挂是真的吗AI 游戏攻略黑科技上线本地缓存功能,离线查阅能力开挂。提前下载对应游戏...
揭秘几款,新版德扑之星透视,德... 揭秘几款,新版德扑之星透视,德州扑克多功能ai辅助秘籍教程主打本地运行的 AI 黑科技工具迎来新版本...
透明挂教程,德扑之星破解app... 本地部署 AI 黑科技工具迎来新版本,不用上传文件到云端就能完成德扑之星破解app下载解析、 AI ...
科普常识,wepoker是不是... 科普常识,wepoker是不是有透视软件,德州扑克多功能ai开挂法子工具是一款可以让一直输的玩家,快...
玩家必看分享,wpk辅助kaq... 很多人使用云端 AI 时,都担心wpk辅助kaq665、内部资料上传带来隐私风险。这款本地运行的 A...
攻略方法,微扑克辅助工具免费版... 一款 AI 游戏攻略黑科技工具上线,查攻略效率直接开挂。它整合版本更新、装备搭配、BOSS 打法、牌...
总算了解!,runit德州透视... 本地部署 AI 黑科技工具迎来新版本,不用上传文件到云端就能完成runit德州透视软件辅助挂解析、 ...
今日公布,德州辅助软件,WPK... 今日公布,德州辅助软件,WPK多功能ai辅助器方针教程主打赛后复盘的 AI 游戏攻略黑科技走红,对局...
让我来分享经验,wepoker... 您好:wepoker辅助器教程这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多...
攻略讲解,德扑之星开挂作弊,A... 攻略讲解,德扑之星开挂作弊,AApoker多功能ai辅助器手筋脚本是一款可以让一直输的玩家,快速成为...