OpenSSL:字段名称缩写有问题吗?
OpenSSL: A problem with Field Name abbreviations?
我正在尝试使用提供的一些详细信息为同事创建新的私钥和 CSR 文件:
C = US
S = Florida
L = XXXXX
O = Foo Inc.
OU = IT
我阅读了有关使用 OpenSSL 生成密钥和 CSR 的内容,并使用命令正常创建它:
openssl req -new -nodes -keyout mydomain.key -out mydomain.csr -subj "/C=US/S=Florida/L=XXXXX/O=Foo Inc./OU=IT/CN="
但这returns是一个错误:
Generating a 2048 bit RSA private key
..................+++
..+++
writing new private key to 'mydomain.key'
-----
req: Skipping unknown attribute "S"
problems making Certificate Request
139945692307904:error:0D06407A:asn1 encoding routines:a2d_ASN1_OBJECT:first num too large:../crypto/asn1/a_object.c:61:
139945692307904:error:0D07A098:asn1 encoding routines:ASN1_mbstring_ncopy:string too short:../crypto/asn1/a_mbstr.c:102:minsize=1
我是不是漏掉了什么明显的东西?最初给了他一个正常生成的 CSR,没有 -subj 参数(使用 ubuntu 终端填写),但他说包含 "ST" 缩写导致他的 CA 拒绝。状态参数必须是 "S"。我不经常使用 SSL,所以 Google 并没有真正帮助我告诉我在哪里查看。
查看 man req
(来自 openssl),特别是最后的示例:
[ req_distinguished_name ]
C = GB
ST = Test State or Province
L = Test Locality
O = Organization Name
OU = Organizational Unit Name
CN = Common Name
emailAddress = test@email.address
stateOrProvinceName
的简短版本是 ST
而不是 S
。
我不知道 "but he says the inclusion of the "ST" 缩写在哪里导致他的 CA 拒绝。"来自,但这肯定是错误的,你应该直接从CA那里得到实际的错误。
参考的是X.520标准,可以到https://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-X.520-201610-I!!PDF-E&type=items
下载
在里面你可以看到:
stateOrProvinceName ATTRIBUTE ::= {
SUBTYPE OF name
WITH SYNTAX UnboundedDirectoryString
LDAP-SYNTAX directoryString.&id
LDAP-NAME {"st"}
ID. id-at-stateOrProvinceName }
你可以清楚地看到缩写是 "st" 而不是 "s"。
public CA 不可能做其他事情。
我正在尝试使用提供的一些详细信息为同事创建新的私钥和 CSR 文件:
C = US
S = Florida
L = XXXXX
O = Foo Inc.
OU = IT
我阅读了有关使用 OpenSSL 生成密钥和 CSR 的内容,并使用命令正常创建它:
openssl req -new -nodes -keyout mydomain.key -out mydomain.csr -subj "/C=US/S=Florida/L=XXXXX/O=Foo Inc./OU=IT/CN="
但这returns是一个错误:
Generating a 2048 bit RSA private key
..................+++
..+++
writing new private key to 'mydomain.key'
-----
req: Skipping unknown attribute "S"
problems making Certificate Request
139945692307904:error:0D06407A:asn1 encoding routines:a2d_ASN1_OBJECT:first num too large:../crypto/asn1/a_object.c:61:
139945692307904:error:0D07A098:asn1 encoding routines:ASN1_mbstring_ncopy:string too short:../crypto/asn1/a_mbstr.c:102:minsize=1
我是不是漏掉了什么明显的东西?最初给了他一个正常生成的 CSR,没有 -subj 参数(使用 ubuntu 终端填写),但他说包含 "ST" 缩写导致他的 CA 拒绝。状态参数必须是 "S"。我不经常使用 SSL,所以 Google 并没有真正帮助我告诉我在哪里查看。
查看 man req
(来自 openssl),特别是最后的示例:
[ req_distinguished_name ]
C = GB
ST = Test State or Province
L = Test Locality
O = Organization Name
OU = Organizational Unit Name
CN = Common Name
emailAddress = test@email.address
stateOrProvinceName
的简短版本是 ST
而不是 S
。
我不知道 "but he says the inclusion of the "ST" 缩写在哪里导致他的 CA 拒绝。"来自,但这肯定是错误的,你应该直接从CA那里得到实际的错误。
参考的是X.520标准,可以到https://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-X.520-201610-I!!PDF-E&type=items
下载在里面你可以看到:
stateOrProvinceName ATTRIBUTE ::= {
SUBTYPE OF name
WITH SYNTAX UnboundedDirectoryString
LDAP-SYNTAX directoryString.&id
LDAP-NAME {"st"}
ID. id-at-stateOrProvinceName }
你可以清楚地看到缩写是 "st" 而不是 "s"。 public CA 不可能做其他事情。