如何使用 openssl 签署证书请求?
How to sign a certificate request using openssl?
为了测试,我正在尝试执行以下 3 个步骤:
- 为 "My Own CA Company"
生成 CA 证书
- 为另一个实体生成证书请求"My Customer"
- 使用 CA 证书签署请求
我在最后一步失败了(见下文)。我觉得我的问题是我对自己做的步骤理解有误,但是想不通到底是什么。
# generate self signed CA certificate
openssl req -x509 -days 2557 -newkey rsa:1024 -out ca-cert.pem -keyout ca-sec-key.pem
# for another entity, generate another private key and a signing request
openssl req -newkey rsa:1024 -out sub-request.pem -keyout sub-sec-key.pem
# the following fails:
# sign the request using the CA certificate and key
openssl ca -cert ca-cert.pem -keyfile ca-sec-key.pem -in sub-request.pem -out sub-cert.pem
错误:
The organizationName field needed to be the same in the
CA certificate (My Own CA Company) and the request (My Customer)
我不明白为什么 openssl 抱怨这些完全不同。我觉得应该是不一样的。
很可能您的 OpenSSL 配置基于默认配置文件 (openssl.cnf
),它限制了 organizationName
DN 组件的值。在 CA 部分找到 policy=<section_name>
条目并将 organizationName=match
更改为 organizationName=supplied
,如:
[ policy_match ]
organizationName = supplied
为了测试,我正在尝试执行以下 3 个步骤:
- 为 "My Own CA Company" 生成 CA 证书
- 为另一个实体生成证书请求"My Customer"
- 使用 CA 证书签署请求
我在最后一步失败了(见下文)。我觉得我的问题是我对自己做的步骤理解有误,但是想不通到底是什么。
# generate self signed CA certificate
openssl req -x509 -days 2557 -newkey rsa:1024 -out ca-cert.pem -keyout ca-sec-key.pem
# for another entity, generate another private key and a signing request
openssl req -newkey rsa:1024 -out sub-request.pem -keyout sub-sec-key.pem
# the following fails:
# sign the request using the CA certificate and key
openssl ca -cert ca-cert.pem -keyfile ca-sec-key.pem -in sub-request.pem -out sub-cert.pem
错误:
The organizationName field needed to be the same in the
CA certificate (My Own CA Company) and the request (My Customer)
我不明白为什么 openssl 抱怨这些完全不同。我觉得应该是不一样的。
很可能您的 OpenSSL 配置基于默认配置文件 (openssl.cnf
),它限制了 organizationName
DN 组件的值。在 CA 部分找到 policy=<section_name>
条目并将 organizationName=match
更改为 organizationName=supplied
,如:
[ policy_match ]
organizationName = supplied