我对使用openssl命令签署客户机CSR的基本步骤和显而易见的部分感到困惑。
我创建了两个组织(模拟),一个是证书颁发机构的组织(位于加利福尼亚州),另一个是客户组织,位于华盛顿州。
我在Linux系统上使用openssl命令创建了证书颁发机构,并按照以下步骤操作。 http://www.freebsdmadeeasy.com/tutorials/freebsd/create-a-ca-with-openssl.php 现在我有两个文件: 1. cakey.pem包含CA的私钥。该私钥也与密码短语相关联。 2. cacert.pem包含CA的自签名证书
接下来,我想签署来自客户端的所有CSR。来自华盛顿州的客户将向我发送client-csr.pem文件。我正在阅读有关签署CSR的手册页面以及末尾的示例。 http://www.openssl.org/docs/apps/ca.html 我正在尝试的命令和错误消息如下:我在CA的系统上运行这些命令,即我创建cakey.pem(CA的私钥)和cacert.pem(CA的自签名证书)的相同系统上。
问题是为什么CA证书和客户端CSR必须使用相同的州名称。
客户端不在“加利福尼亚”,因此当他们创建CSR时,会放置自己所在的州名(WA)。作为证书颁发机构,我已验证客户确实在WA,并且CSR文件确实来自他们。我想签署这个CSR并将证书返回给客户。
我创建了两个组织(模拟),一个是证书颁发机构的组织(位于加利福尼亚州),另一个是客户组织,位于华盛顿州。
我在Linux系统上使用openssl命令创建了证书颁发机构,并按照以下步骤操作。 http://www.freebsdmadeeasy.com/tutorials/freebsd/create-a-ca-with-openssl.php 现在我有两个文件: 1. cakey.pem包含CA的私钥。该私钥也与密码短语相关联。 2. cacert.pem包含CA的自签名证书
接下来,我想签署来自客户端的所有CSR。来自华盛顿州的客户将向我发送client-csr.pem文件。我正在阅读有关签署CSR的手册页面以及末尾的示例。 http://www.openssl.org/docs/apps/ca.html 我正在尝试的命令和错误消息如下:我在CA的系统上运行这些命令,即我创建cakey.pem(CA的私钥)和cacert.pem(CA的自签名证书)的相同系统上。
$ openssl ca -in demoCA/csrs/client-csr.pem -out client-cert.pem
Using configuration from /usr/lib/ssl/openssl.cnf
Enter pass phrase for ./demoCA/private/cakey.pem:
Check that the request matches the signature
Signature ok
The stateOrProvinceName field needed to be the same in the
CA certificate (California) and the request (WA)
问题是为什么CA证书和客户端CSR必须使用相同的州名称。
客户端不在“加利福尼亚”,因此当他们创建CSR时,会放置自己所在的州名(WA)。作为证书颁发机构,我已验证客户确实在WA,并且CSR文件确实来自他们。我想签署这个CSR并将证书返回给客户。