Ошибка при создании CSR с атрибутами: «T» и «uidNumber» в теме - PullRequest
0 голосов
/ 12 сентября 2018

Для интеграции, которую мы собираемся выполнять на работе, нам необходимо предоставить местной правительственной организации файл запроса на подпись сертификата. Эта локальная компания должна иметь следующие атрибуты в теме при создании файла CSR:

CN=data/O=data/OU=data/T=data/C=AU/dnQualifier=data/uidNumber=data/uid=data/serialNumber=data/emailAddress=john@example.com

Когда я генерирую CSR-файл с OpenSSL, используя следующую команду:

$ openssl req -new -key example.pem -out example.csr -subj "{the above subject}"

Я получаю следующие ошибки:

req: Skipping unknown attribute "T"                                     
req: Skipping unknown attribute "uidNumber"    

Я пробовал на Debian 9.5 и Ubuntu 18.04 с одинаковым результатом.

После исследования я добавил новые OID в файл /etc/ssl/openssl.cfg:

[ new_oids ]
uidNumber = 1.2.3.4
T = 1.2.3.4.2

И, наконец, он генерируется без проблем.

Я смог увидеть атрибуты T и uidNumber в теме при проверке файла CSR с:

$ openssl req -in example.csr -noout -text

Хотя я получил атрибуты в теме, обновив файл конфигурации OpenSSL, я действительно не уверен в значении значений 1.2.3.4 и 1.2.3.4.2, которые я использовал при их определении (я просто следовал шаблону закомментированного примера в файл). Влияют ли эти значения на файл CSR, который я собираюсь использовать, хотя атрибуты присутствуют, как и ожидалось?

Я очень ценю вашу помощь.

1 Ответ

0 голосов
/ 12 сентября 2018

Я действительно не уверен в значении 1.2.3.4 и 1.2.3.4.2 значений I используется при их определении

Обычно эти OID имеют значение, которое понимают все вовлеченные стороны. Обычно их значения и значения публикуются в каком-то известном месте. Удобный сайт для их поиска - это хранилище OID . Выбранные вами OID не имеют известного значения.

Влияют ли эти значения на файл CSR, который я собираюсь использовать, хотя атрибуты присутствуют как положено?

Да, OID будут частью CSR в кодировке PEM или DER и используются получателем для анализа файла. На самом деле, только включены OID, а не имена самих атрибутов. С вашим выбором OID получатель не сможет понять, что означает значение связанных значений. Поэтому вы должны убедиться, что выбрали значения OID, которые соответствуют предполагаемому значению атрибутов.

Атрибут T, вероятно, относится к title с OID 2.5.4.12, для которого можно использовать короткое имя T. Это короткое имя, похоже, не стандартизировано, но см. ITU X.520 spec section 6.4.3 title, в котором в качестве примера упоминается T = "Manager, Distributed Applications".

Атрибут uidNumber, вероятно, относится к OID 1.3.6.1.1.1.1.0.

Однако вместо того, чтобы угадывать намерения человека, который написал спецификацию, которую вы используете, было бы лучше попросить добавить к нему OID, предпочтительно для всех атрибутов. Таким образом, все стороны точно знают, что такое ожидаемые атрибуты OID и как интерпретировать связанные значения.

...