自签名根证书、中间证书、服务器证书生成流程详解
创始人
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、下载好大唐撸麻雀正确养号方法之后点...
突发!小吆三打哈辅助透视挂,悠... 突发!小吆三打哈辅助透视挂,悠闲麻将真的是有挂,原来有挂解密一、小吆三打哈游戏安装教程牌型概率发牌机...
今年以来!樱花梦雨辅助透视挂,... 今年以来!樱花梦雨辅助透视挂,新滕州麻将真的是有挂,好像有挂方法今年以来!樱花梦雨辅助透视挂,新滕州...
备受关注的!边锋老友棋牌辅助透... 备受关注的!边锋老友棋牌辅助透视挂,微友麻将是真的有挂,一直有挂攻略运边锋老友棋牌辅助工具,进入游戏...
明白辅助挂!萍乡滚筒辅助透视挂... 明白辅助挂!萍乡滚筒辅助透视挂,大唐麻将游戏是有挂,一直有挂教程1、操作简单,无需大唐麻将游戏手机版...
据报道!丫丫古诗辅助透视挂,琼... 据报道!丫丫古诗辅助透视挂,琼崖海南麻将真的有挂,其实有挂方法丫丫古诗脚本下载中分为三种模型:丫丫古...
随着!多多休闲辅助透视挂,东游... 随着!多多休闲辅助透视挂,东游麻将是真的有挂,竟然有挂存在随着!多多休闲辅助透视挂,东游麻将是真的有...
方法辅助挂!星禾游戏辅助透视挂... 方法辅助挂!星禾游戏辅助透视挂,太浪乾安麻将是真的有挂,果然发现有挂1、下载好星禾游戏脚本下载之后点...
近日!巅峰互娱辅助透视挂,趣咪... 近日!巅峰互娱辅助透视挂,趣咪麻将确实有挂,真是揭秘有挂;1、这是跨平台的巅峰互娱轻量版有透视,在线...