OpenSSL: проблема с сокращениями имен полей? - PullRequest
0 голосов
/ 05 апреля 2019

Я пытаюсь создать новый закрытый ключ и файл CSR для коллеги с некоторыми предоставленными подробностями:

C                      = US
S                      = Florida
L                      = XXXXX
O                      = Foo Inc.
OU                     = IT

Я прочитал о генерации ключей и CSR с использованием OpenSSL и использовал команду для его нормального создания:

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, сгенерированный нормально без аргумента -subj (заполняется с помощью терминала ubuntu), но он говорит, что включение аббревиатуры "ST" вызывает отказ от его CA.Аргумент состояния должен быть "S".Я не очень часто работаю с SSL, поэтому Google не очень помог мне узнать, где искать.

1 Ответ

0 голосов
/ 05 апреля 2019

Посмотрите на 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, вы можете скачать его с 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". В противном случае публичный ЦС не может делать что-либо еще.

...