Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OpenSSL:字段名缩写的问题?_Ssl_Openssl_Private Key_Csr - Fatal编程技术网

OpenSSL:字段名缩写的问题?

OpenSSL:字段名缩写的问题?,ssl,openssl,private-key,csr,Ssl,Openssl,Private Key,Csr,我正在尝试为同事创建一个新的私钥和CSR文件,并提供了一些详细信息: C = US S = Florida L = XXXXX O = Foo Inc. OU = IT 我阅读了有关使用OpenSSL生成密钥和CSR的内容,并使用命令正常创建: openssl req -new -node

我正在尝试为同事创建一个新的私钥和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="
但这会返回一个错误:

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,没有-subc参数(使用ubuntu终端填写),但他说,包含“ST”缩写会导致CA拒绝。state参数必须是“S”。我不经常使用SSL,因此Google在告诉我去哪里查找方面并没有真正的帮助。

查看
manreq
(来自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

“我不知道在哪里”,但他说,包含“ST”缩写会导致CA的拒绝。“来自,但这肯定是错误的,您应该直接从CA获得实际错误

参考是X.520标准,您可以从

您可以在其中看到:

stateOrProvinceName ATTRIBUTE ::= {
SUBTYPE OF  name
WITH SYNTAX UnboundedDirectoryString
LDAP-SYNTAX directoryString.&id
LDAP-NAME   {"st"}
ID.         id-at-stateOrProvinceName }
你可以清楚地看到缩写是“st”,而不是“s”。
公共CA不可能做其他事情。

请看
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

“我不知道在哪里”,但他说,包含“ST”缩写会导致CA的拒绝。“来自,但这肯定是错误的,您应该直接从CA获得实际错误

参考是X.520标准,您可以从

您可以在其中看到:

stateOrProvinceName ATTRIBUTE ::= {
SUBTYPE OF  name
WITH SYNTAX UnboundedDirectoryString
LDAP-SYNTAX directoryString.&id
LDAP-NAME   {"st"}
ID.         id-at-stateOrProvinceName }
你可以清楚地看到缩写是“st”,而不是“s”。 公共CA不可能做其他事情