У меня есть устройство, которое может генерировать свою собственную пару ключей и самозаверяющий сертификат на основе этих ключей. Затем он может сгенерировать CSR из этого, и я могу экспортировать это из устройства. Я не могу влиять на содержание сертификата или CSR.

Используемое им "CommonName" основано на DeviceName, которое не может содержать никаких символов.'

Теперь, когда я подпишу этот CSR с моим локальным / частным CA, и импортирую последний сертификат обратно в устройство, а затем перейду к https://mydevice.local, браузер, конечно, будет жаловаться, потому что "CommonName" для сертификата - "mydevice". без суффикса локального домена.

Существует ли параметр конфигурации для команды openssl, чтобы в этом примере "CommonName" получало предварительно настроенный суффикс, например «.local»? Также я хотел бы добавить эту же строку в SubjectAltName, чтобы Chrome тоже не жаловался.

1 ответ1

2

Программное обеспечение CA свободно отбрасывает объект и заменяет его. Все в CSR, кроме самого открытого ключа, только для информационных целей.

Для openssl req и openssl ca используйте опцию -subj чтобы переопределить тему:

openssl ca -in device.csr -out device.crt -subj "/O=TabascoNet/OU=Devices/CN=mydevice.local"

Для переопределения расширений используйте опцию -extensions и поставить нужные расширения (SubjectAltName, extendedKeyUsage и т.д.) в openssl.cnf.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .