Можно ли создать запрос сертификата PKCS # 10 / сертификат X.509 с идентифицирующей информацией только в атрибуте / расширении альтернативного имени субъекта? В соответствии с X.509 4.1.2.6 Тема , субъект может быть пустым для сертификата, субъект которого не является центром сертификации, если subjectAltName является критическим.
Но когда я использую этот конфигурационный файл с пустым разделом отличительного имени:
# request.config
[ req ]
distinguished_name = req_distinguished_name
req_extensions = v3_req
prompt = no
[ req_distinguished_name ]
[ v3_req ]
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName=critical,email:certtest@example.com
и команды
openssl genrsa 1024 > key.pem
openssl req -new -key key.pem -out req.pem -config request.config
OpenSSL жалуется:
error, no objects specified in config file
problems making Certificate Request
C = US
означает, что «приглашение» для C - это «США», а не значение по умолчанию. Вместо этого файл должен содержатьC = Country
иC_default = US
.prompt = yes [or blank]
. Еслиprompt = no
тоC = US
будет означать «США» является значением по умолчанию.Проблема
prompt = no
в оригинальном конфиге. КОТОРЫЙ ДЕЛАЕТopenssl req
Предположим , вы собираетесь указать данные , подлежащие в конфигурационном файле и попадает в предварительную проверку в req.c .Существует обходной путь: удалите
prompt = no
и добавьте-subj /
к своейopenssl req
командной строке. Вот пример сценария, который создает CSR и самозаверяющий сертификат:источник
Попробуйте "commonName = необязательный" в разделах политики в файле конфигурации openssl.
источник
Кажется, вы вводите одно единственное значение из группы «отличное_имение» со своей клавиатуры, и оно работает нормально ... Я имею в виду, что вам не нужно вводить другие значения и вы можете использовать их значения по умолчанию (как указано в файле openssl.conf), что говорит
источник