openssl -subj 是 OpenSSL 命令行工具中用于处理 X.509 证书主题(Subject)信息的选项。它允许你直接指定或修改证书的主体字段,如国家、省份、城市、组织等.
基本用法
在生成证书或自签名证书时,-subj 选项可以简化输入过程,避免交互式提示。其基本语法为:
openssl <command> -subj "/<属性>=<值>/<属性>=<值>..."常见属性
主题字段通常包含以下标准属性(按顺序排列):
- C:国家代码(例如 CN 代表中国)。
- ST:省份或州(例如 Beijing)。
- L:城市或地区(例如 Beijing)。
- O:组织名称(例如 Example Company)。
- OU:组织单位(例如 IT Department)。
- CN:通用名称(例如 www.example.com ,常用于服务器证书 )。
实际示例
生成自签名证书
下列命令生成一个自签名证书,直接指定主题信息:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -subj "/C=CN/ST=Beijing/L=Beijing/O=Example Inc./CN=www.example.com"- -req:生成证书签名请求(CSR)或自签名证书。
- -x509:生成自签名证书(而非 CSR)。
- -newkey rsa:4096 :创建新 RSA 密钥(4096 位)。
- -keyout 和 -out:指定私钥和证书输出文件。
- -days 365:证书有效期为 365 天。
生成证书签名请求(CSR)
openssl req -new -keyout key.pem -out csr.pem -subj "/C=US/ST=California/L=San Francisco/O=MyOrg/CN=example.org"此时不会生成自签名证书,而是生成待 CA 签名的 CSR 文件。
注意事项
- 属性顺序:属性应按 C, ST, L, O, OU, CN 的顺序排列,否则可能报错。
- 空值处理:如果某些属性不需要,可跳过或留空(如 -subj “/C=CN/ST=Beijing/L=Beijing/O=Example/CN=www.example.com")。
- 与 CA 配合:在自建 CA 时,-subj 可用于定义 CA 证书的主题(例如 -subj “/C=CN/O=MyCA/CN=MyRootCA”)。
潜在需求扩展
如果你需要验证证书的主题信息,可使用:
openssl x509 -in cert.pem -noout -subject -issuer这将输出证书的主体和颁发者字段。
如需进一步操作(如创建 CA 或管理证书生命周期),可参考 OpenSSL 的完整文档
作者:Jeebiz 创建时间:2025-12-10 10:25
最后编辑:Jeebiz 更新时间:2025-12-10 11:49
最后编辑:Jeebiz 更新时间:2025-12-10 11:49