Czy można utworzyć wniosek o certyfikat PKCS # 10 / certyfikat X.509 z informacjami identyfikującymi tylko w atrybucie / rozszerzeniu alternatywnej nazwy podmiotu? Zgodnie z X.509 4.1.2.6 Przedmiot , podmiot może być pusty dla certyfikatu, którego podmiot nie jest urzędem certyfikacji, o ile nazwa podmiotu jest krytyczna.
Ale kiedy używam tego pliku konfiguracyjnego z pustą sekcją nazwa_wyróżniająca:
# 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:[email protected]
i polecenia
openssl genrsa 1024 > key.pem
openssl req -new -key key.pem -out req.pem -config request.config
OpenSSL narzeka:
error, no objects specified in config file
problems making Certificate Request
C = US
oznacza, że „monit” dla C to „US”, a nie wartość domyślna. Zamiast tego plik powinien zawieraćC = Country
iC_default = US
.prompt = yes [or blank]
. Jeśliprompt = no
toC = US
znaczy, że „US” jest wartością domyślną.Problem dotyczy
prompt = no
oryginalnej konfiguracji. To sprawia, żeopenssl req
zakładam, że zamierza podać dane podmiotu w pliku konfiguracyjnym i uderza wstępną kontrolę w req.c .Istnieje obejście: Usuń
prompt = no
i zamiast tego dodaj-subj /
doopenssl req
wiersza poleceń. Oto przykładowy skrypt, który generuje zarówno CSR, jak i samopodpisany certyfikat:źródło
Spróbuj „commonName = opcjonalne” w sekcjach zasad w pliku konfiguracyjnym openssl.
źródło
Wygląda na to, że wpisujesz z klawiatury dowolną pojedynczą wartość z grupy „nazwa_wyróżniająca” i działa dobrze ... Mam na myśli, że nie musisz wprowadzać innych wartości i możesz użyć ich wartości domyślnych (jak wspomniano w pliku openssl.conf)
źródło