#!/intro

Gerar um Certificate Signing Request (CSR) em conformidade com o formato PKCS#10 é um passo essencial para solicitar um certificado digital assinado por uma Autoridade Certificadora (CA). Este pedido contém a chave pública e os dados de identificação da entidade requerente, sendo assinado com a respetiva chave privada.


> gerar_csr

Para gerar um CSR com base numa chave privada existente, pode utilizar o seguinte comando OpenSSL:

openssl req -new -key chave_privada.key -out pedido.csr

O OpenSSL irá pedir-lhe que introduza manualmente os campos da identificação:

Country Name (2 letter code) []:PT
State or Province Name (full name) []:Portugal
Locality Name (eg, city) []:Lisboa
Organization Name (eg, company) []:Exemplo
Organizational Unit Name (eg, section) []:TI
Common Name (e.g. server FQDN or YOUR name) []:exemplo.com
Email Address []:user@mail.org

Tambem é possivel gerar o CSR sem qualquer interação manual, com todos os campos definidos diretamente na linha de comando.

openssl req -new -key chave_privada.key -out pedido.csr \
        -subj "/C=PT/L=Lisboa/O=Exemplo/OU=TI/CN=exemplo.com"

Finalmente, é possível gerar o CSR utilizando um ficheiro de configuração, o que permite definir todos os campos de identificação de forma estruturada e sem intervenção manual.

Ficheiro de configuração req.conf:

[ req ]
prompt             = no
distinguished_name = dn

[ dn ]
C             = PT
ST            = Portugal
L             = Lisboa
O             = Exemplo
OU            = TI
CN            = exemplo.com
emailAddress  = user@mail.org

Com este ficheiro, o CSR pode ser gerado com o seguinte comando:

openssl req -new -key chave_privada.key \
        -out pedido.csr \
        -config req.conf

> conclusão

A geração de um CSR com o OpenSSL constitui um passo fundamental na obtenção de certificados X.509 emitidos por uma Autoridade Certificadora. Este processo assegura que a chave privada nunca é exposta, uma vez que apenas a chave pública e os atributos do sujeito são incluídos no pedido.

A possibilidade de automatizar este processo, seja através da linha de comando ou de ficheiros de configuração, permite uma integração mais eficiente em ambientes de gestão de certificados, reduzindo erros e aumentando a consistência dos pedidos.

> status: signed
> exit 0