Páginas filhas
  • 1º Passo - Gerar o Certificate Signing Request (CSR)

Versões comparadas

Chave

  • Estas linhas foram adicionadas. Esta palavra foi adicionada.
  • Estas linhas foram removidas. Esta palavra foi removida.
  • A formatação mudou.

O pedido de um certificado do tipo  EV ou OV implica sempre que tenha sido criado previamente os ficheiros KEY e CSR.

Nota
HTML
Exemplo de CSR:<br>-----BEGIN CERTIFICATE REQUEST-----<br>MIIBnTCCAQYCAQAwXTELMAkGA1UEBhMCU0cxETAPBgNVBAoTCE0yQ3J5cHRvMRIw<br>EAYDVQQDEwlsb2NhbGhvc3QxJzAlBgkqhkiG9w0BCQEWGGFkbWluQHNlcnZlci5l<br>eGFtcGxlLmRvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAr1nYY1Qrll1r<br>uB/FqlCRrr5nvupdIN+3wF7q915tvEQoc74bnu6b8IbbGRMhzdzmvQ4SzFfVEAuM<br>MuTHeybPq5th7YDrTNizKKxOBnqE2KYuX9X22A1Kh49soJJFg6kPb9MUgiZBiMlv<br>tb7K3CHfgw5WagWnLl8Lb+ccvKZZl+8CAwEAAaAAMA0GCSqGSIb3DQEBBAUAA4GB<br>AHpoRp5YS55CZpy+wdigQEwjL/wSluvo+WjtpvP0YoBMJu4VMKeZi405R7o8oEwi<br>PdlrrliKNknFmHKIaCKTLRcU59ScA6ADEIWUzqmUzP5Cs6jrSRo3NKfg1bd09D1K<br>9rsQkRc9Urv9mRBIsredGnYECNeRaK5R1yzpOowninXC<br>-----END CERTIFICATE REQUEST-----  <br><br>Campos a preencher no CSR ( <b style="color:#9ACD32">Opcionais</b> / <b style="color:#FF0000">Obrigatórios</b>):<br><br> <b style="color:#FF0000">  C      (country):</b> PT <br>  <b style="color:#9ACD32#FF0000">  L      (locality):</b>  Localidade<br><b style="color:#9ACD32#FF0000">  ST     (state or province):</b> Distrito<br> <b style="color:#FF0000">  O      (organization):</b> Nome da organização de acordo com o protocolo<br><b style="color:#9ACD32">  OU     (organizational unit):</b> Departamento<br><b style="color:#FF0000">  CN     (common name):</b> Deve corresponder ao FQDN ou lista de Domain Names<br><b style="color:#9ACD32">  STREET (street address):</b> Morada<br><b style="color:#9ACD32">  E      (E-mail address):</b> Email Genérico (departamento@instituição)<br> <br>Nota: Os campos opcionais quando preenchidos devem corresponder à informação do protocol
Expandir
titleCriar CSR para certificados multi-domínios - Linux

A criação de certificados em Linux pressupõe que esteja instalada uma versão recente do software openssl.

Criar e/ou editar o ficheiro Openssl.conf

Devem criar ou editar, caso já existe, o ficheiro openssl.conf. Tipicamente este ficheiro está localizado na pasta /etc/ssl/.

Bloco de código
languagebash
vi /etc/ssl/openssl.cnf

Adicionar os campos

Devem adicionar os seguintes campos ao ficheiro openssl.conf.

Os campos referentes ao DN devem ser alterados a ajustados para a instituição que está a requerer o certificado.

De notar que os múltiplos domínios a serem usados devem ser definidos usando o campo subjectAltName. Deve sempre existir pelo menos um campo CN, onde é definido o domínio principal associado ao certificado, e os restantes devem seguir uma lógica numérica: DNS.1, DNS.2, DNS.3, etc.

Bloco de código
languagebash
[ req ]
default_bits = 2048
prompt = no
encrypt_key = no
default_md = sha256
distinguished_name = dn
req_extensions = v3_req

[ dn ]
C = pais
ST = rua
L = localidade
O = nome_da_organizacao
OU = nome_unidade_organica
CN = a.teste.fccn.pt
emailAddress = endereco@inst.pt

[ v3_req ]
# Extensions to add to a certificate request
subjectAltName = @alt_names

[alt_names]
DNS.1 = b.teste.fccn.pt
DNS.2 = c.teste.fccn.pt
DNS.3 = d.teste.fccn.pt

Gerar o CSR

Gerar a Chave Privada

Bloco de código
languagebash
openssl genrsa -des3 -out myserverkey.key 2048

Gerar o CSR com base na Chave Privada

Bloco de código
languagebash
openssl req -new -out server.csr -key myserverkey.key -config /etc/ssl/openssl.cnf

Validar o CSR e os vários domínios

Bloco de código
languagebash
openssl req -text -noout -in server.csr
Expandir
titleCriar CSR para certificados multi-domínios - Windows

Criar o ficheiro request.inf com os parâmetros necessários ao novo certificado. Devem alterar os valores dos seguintes campos:

  • O = Colocar o nome da Entidade, conforme consta do serviço TCS
  • CN = Colocar o FQDN da máquina
  • SAN = Colocar os restantes nomes a serem usados no certificado. Este campo é também definido pelo OID 2.5.29.17 e deve aí contar os domínios adicionais.
  • OID = Colocar o OID referente ao propósito para o qual o certificado é gerado. Pode ser consultada aqui uma lista completa dos OID's e respectivos propósitos

Server 2008 ou posterior

Para Windows Server 2008, Windows Server 2008 R2, Windows Vista ou Windows 7 deve ser usado o modelo abaixo para o ficheiro request.inf

Bloco de código
languagepowershell
;----------------- request.inf -----------------
[Version]
Signature="$Windows NT$"

[NewRequest]
Subject = "CN=a.teste.fccn.pt, OU=RCTSAAI, O=Fundacao para a Computacao Cientifica Nacional, L=Lisboa, S=Lisboa, C=PT" ; replace attributes in this line using example below
KeySpec = 1
KeyLength = 2048
Exportable = TRUE
FriendlyName = "vdm"
MachineKeySet = TRUE
SMIME = False
PrivateKeyArchive = FALSE
UserProtected = FALSE
UseExistingKeySet = FALSE
ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
ProviderType = 12
RequestType = PKCS10
KeyUsage = 0xa0

[EnhancedKeyUsageExtension]
OID=1.3.6.1.5.5.7.3.1 ; this is for Server Authentication

[Extensions]
2.5.29.17 = "{text}"
_continue_ = "dns=b.teste.fccn.pt&dns=c.teste.fccn.pt"

[RequestAttributes]

;-----------------------------------------------

Para Server 2003 ou anterior

Para Windows Server 2003, Windows Server 2003 R2 ou Windows XP deve ser usado o modelo abaixo para o ficheiro request.inf.

No caso desta versão do Windows, por não suportar os SAN na forma de texto, este valor deve ser convertido para Base64-encoded.

A string deve ser gerada no formato: b.teste.fccn.pt,c.teste.fccn.pt

Existem vários sites disponíveis na Internet para fazer esta codificação. A título de exemplo deixamos este.

Bloco de código
languagepowershell
;----------------- request.inf -----------------


[Version]
Signature="$Windows NT$"


[NewRequest]
Subject = "CN=a.teste.fccn.pt, OU=RCTSAAI, O=Fundacao para a Computacao Cientifica Nacional, L=Lisboa, S=Lisboa, C=PT" ; replace attributes in this line using example below
KeySpec = 1
KeyLength = 2048
Exportable = TRUE
MachineKeySet = TRUE
SMIME = False
PrivateKeyArchive = FALSE
UserProtected = FALSE
UseExistingKeySet = FALSE
ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
ProviderType = 12
RequestType = PKCS10
KeyUsage = 0xa0


[EnhancedKeyUsageExtension]
OID=1.3.6.1.5.5.7.3.1 ; this is for Server Authentication


[Extensions]
; 2003 Server
2.5.29.17=Yi50ZXN0ZS5mY2NuLnB0LGMudGVzdGUuZmNjbi5wdA==
Critical=2.5.29.17
[RequestAttributes]
;-----------------------------------------------

Gerar o CSR

Gerar Certificado

Numa janela de DOS executar o seguinte comando para gerar o certificado. Este comando deve ser executado na mesma directoria onde o ficheiro request.inf foi guardado.

Bloco de código
languagevb
certreq -new request.inf request.csr

Este comando deve ser executado numa janela de DOS com permissões de Administrador ou com um user com essas permissões.

Dica
titleDigicert Tools - CSR Generators

No portal Digicert está disponivel mais informação como gerar um CSR: Digicert Tools - CSR Generator

Informação
titlePróximo Passo

Realizar o pedido no portal da digicert: Preencher Formulário do Pedido

...