Openssl необязательныйCompanyName (необязательное название компании) в команде - PullRequest
0 голосов
/ 15 января 2019

Я сделал одну команду openssl, чтобы автоматизировать ее с помощью сценариев. Я нахожу все варианты, посещая различные вопросы и сайты, но не могу найти опцию «Необязательное название компании», я пробовал «факультативное имя компании», но это не сработало.

(/C) Country Name (2 letter code) [XX]:GB
(/ST) State or Province Name (full name) []:London
(/L) Locality Name (eg, city) [Default City]:London
(/O) Organization Name (eg, company) [Default Company Ltd]:XYZ
(/U) Organizational Unit Name (eg, section) []:XYZ
(/CN) Common Name (eg, your name or your server's hostname) []:- $DOMAIN
(/emailAddress) Email Address [] :- some@some.com
(/challengePassword) A challenge password :- strongpass
(/?) An optional company name []:PROBLEM

Пожалуйста, помогите.

export domain=SOMEDOMAINNAME
openssl req -nodes -newkey rsa:2048 -keyout $domain.key -out $domain.csr -subj "/C=GB/ST=London/L=London/O=XYZ/OU=XYZ UK/CN=$domain/emailAddress=some@some.com/challengePassword=strongpass/optionalCompanyName=PROBLEM"

Та же команда в многострочном режиме, поэтому ее легко читать

export domain=SOMEDOMAINNAME
openssl req -nodes -newkey rsa:2048 -keyout $domain.key -out $domain.csr -subj  
"/C=GB/ST=London/L=London/O=XYZ/OU=XYZ UK/CN=$domain/emailAddress=some@some.com 
/challengePassword=strongpass/optionalCompanyName=PROBLEM"

Посещенные ссылки

1 Ответ

0 голосов
/ 15 января 2019

Определенные атрибуты для полей субъекта и эмитента в сертификате определяются 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, скорее всего, в любом случае игнорируются, я бы не стал их задавать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...