You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过OpenSSL CLI在SSL证书中添加pseudonym字段?

问题原因

OpenSSL的CA组件默认仅会将标准X.509 DN字段/扩展复制到签名后的证书中,自定义的pseudonym字段不在默认允许的范围内,因此即使CSR中包含该字段,签名过程也会自动忽略它。

解决方法

要让CA识别并将pseudonym从CSR复制到证书,需修改你的CA配置文件openssl_ca.cnf,步骤如下:

1. 给自定义字段分配OID

先在配置文件开头添加OID定义——自定义字段必须有对应的OID才能被X.509体系识别,你可以使用一个私有OID(比如1.2.3.4.5.6.7,只要不与现有OID冲突即可):

oid_section = custom_oids
[custom_oids]
pseudonym = 1.2.3.4.5.6.7

2. 配置CA策略允许该字段

找到配置中的策略段(通常是[policy_match]或[policy_anything]),添加一行允许pseudonym字段存在:

[policy_match]
# 保留原有配置项,例如:
countryName             = match
stateOrProvinceName     = match
organizationName        = match
commonName              = supplied
# 新增以下配置
pseudonym               = optional  # optional表示字段可选,supplied表示必须提供

3. 让CA复制字段到证书

如果pseudonym是作为DN属性(非扩展字段),完成上述两步即可;如果是作为扩展字段,还需在[ca]段添加参数允许复制CSR中的扩展:

[ca]
default_ca = CA_default
# 新增以下配置
copy_extensions = copy  # 复制所有CSR扩展,需精确控制可改为copyall或指定具体扩展

4. 重新签名CSR

修改配置后,重新执行签名命令:

openssl ca -config openssl_ca.cnf -out test.crt -infiles test.csr

验证结果

使用以下命令检查证书是否包含pseudonym字段:

openssl x509 -in test.crt -noout -text
额外提示
  • 如果pseudonym是扩展字段,需确保CSR中的扩展定义正确,同时CA配置的扩展段(如[usr_cert])要包含对应扩展的引用。
  • OpenSSL 3.0+对配置语法要求更严格,需检查OID和策略配置是否存在语法错误。

内容的提问来源于stack exchange,提问作者Preeti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 05:53:16