OpenSSL: Como criar um certificado com um DN de assunto vazio?
É possível criar uma solicitação de certificado PKCS # 10 / certificado X.509 com as informações de identificação apenas no atributo / extensão de nome alternativo do assunto? De acordo com X.509 4.1.2.6 Assunto , o assunto pode estar vazio para um certificado cujo assunto não seja uma CA, desde que o subjectAltName seja crítico.
Mas quando eu uso esse arquivo de configuração com uma seção vazia distinguished_name:
O OpenSSL reclama:
arquivo test-no-cn.cnf
Gere o CSR
Assine o CSR
Exibir o certificado resultante
— bpawlak
Também encontrei esse erro "nenhum objeto especificado". Ele exibia um prompt como este para vários campos:
E eu estava apenas pressionando enter porque já havia definido esses valores no arquivo .cnf. Acontece que eu precisava digitar todos os valores novamente e funcionou.
— Oran Dennison
Eu tive que fazer o mesmo. Apesar de colocar valores no arquivo de configuração, ele ainda solicitou todos os componentes DN novamente. Eu tive que repeti-los, mas funcionou pelo menos.
Isso ocorre porque o arquivo de configuração não contém valores padrão. C = USsignifica que o "prompt" para C é "US", não o valor padrão. Em vez disso, o arquivo deve conter C = Countrye C_default = US.
Ah, e isso é apenas se prompt = yes [or blank]. Se, prompt = noentão C = US, significaria "US" é o valor padrão.
O problema está prompt = nona configuração original. Isso faz openssl reqsupor que você pretende especificar entradas de assunto no arquivo de configuração e atinge uma verificação preliminar em req.c .
Existe uma solução alternativa: remova prompt = noe adicione -subj /à sua openssl reqlinha de comando. Aqui está um exemplo de script que produz um certificado CSR e um certificado autoassinado:
openssl req -newkey rsa:2048 -config openssl.cnf -nodes -new -subj "/" \
-out req.csr
-x509 -out cert.crt
— jsha
Tente "commonName = opcional" nas seções de política do arquivo de configuração openssl.
Parece que você digitou qualquer valor único do grupo '"distinguished_name" do teclado e funciona bem ... Quero dizer que você não precisa inserir outros valores e pode usar o padrão (como mencionado no arquivo openssl.conf) que disse