Определенные атрибуты для полей субъекта и эмитента в сертификате определяются ITU X.520 .
Не определен элемент "необязательное название компании".
Я думаю, что вы имеете в виду тип атрибута "Название организации". Это определяется именем LDAP "O".
В вашем примере:
"/ С = Гб / ST = Лондон / л = Лондон / O = XYZ / OU = XYZ
UK/CN=$domain/emailAddress=some@some.com
/ ChallengePassword = strongpass / optionalCompanyName = ПРОБЛЕМА "
Это "/ O = XYZ", поэтому "Организация" (или название компании) - "XYZ".
Обновление:
После некоторого прочтения я вижу, откуда вы, потому что я никогда раньше этого не замечал:
"Необязательное название компании:" равно " unstructuredName ".
"unstructuredName" и "challengePassword" является частью только запроса сертификата. Так что это НЕ часть предмета. Поэтому вам не следует использовать «/ challengePassword = strongpass» в строке темы.
Вы можете увидеть это в файле openssl.conf по умолчанию:
[ req ]
attributes = req_attributes
[ req_attributes ]
challengePassword = A challenge password
challengePassword_min = 4
challengePassword_max = 20
unstructuredName = An optional company name
Атрибуты Req игнорируются большинством CA. См. Примечание в документации OpenSSL :
атрибуты
указывает раздел, содержащий любой запрос
Атрибуты: его формат такой же, как и в различающихся именах. типично
они могут содержать типа challengePassword или unstructuredName.
В настоящее время они игнорируются утилитами подписывания запросов OpenSSL, но
некоторые CA могут захотеть их.
В настоящее время openssl не предоставляет никакого способа установить req attrbutes из командной строки. Таким образом, единственный способ сделать это с помощью настраиваемого файла conf с установленными атрибутами.
Если вам нужно сделать это, я бы создал файл conf с приглашением, установленным на «no», и использовал параметр -conf openssl. Обратите внимание, что формат немного меняется, когда вы устанавливаете приглашение в «нет».
Поскольку атрибуты req, скорее всего, в любом случае игнорируются, я бы не стал их задавать.