OpenSSL: Criando uma Autoridade Certificadora (CA)

Vou mostrar como criar uma Autoridade Certificadora (CA).

Esse CA vai ser utilizado nos meus exemplos de configuração IBM Sterling.

= Procedimento =

Instalando
1) Instalando os Pacotes

yum install -y openssl = Criando uma Autoridade Certificadora =

Definindo os valores default para a CA
Edite o arquivo


 * Linux: /etc/pki/tls/openssl.cnf
 * Windows: C:\Program Files\Common Files\SSL\openssl.cnf

e altere os dados da CA. Um exemplo de configuração final (apenas o bloco que interessa):

default_md  = sha256 ... default_bits = 2048 ... countryName                    = Country Name (2 letter code) countryName_default            = BR ... stateOrProvinceName            = State or Province Name (full name) stateOrProvinceName_default    = DF localityName                   = Locality Name (eg, city) localityName_default           = Brasilia      # Esta linha, normalmente, não existe e você deverá criá-la. 0.organizationName             = Organization Name (eg, company) 0.organizationName_default     = Test Net Company organizationalUnitName         = Organizational Unit Name (eg, section) organizationalUnitName_default = Ditec    # Vamos descomentar essa Linha commonName                     = Common Name (eg, YOUR name) commonName_max                 = 64 emailAddress                   = Email Address emailAddress_max               = 64 emailAddress_default           = ditec@company.com      ''# Vamos criar essa Linha

Salve e feche o arquivo

Edite o arquivo

Alterando o valor default do tempo de duração dos certificados
Edite o arquivo


 * Linux: /etc/pki/tls/misc/CA
 * Windows: C:\Program Files\OpenSSL-Win64\bin\CA.pl

Alterando o tempo de duração do certificado da CA.

Exemplo para 100 anos:

$CADAYS="-days 36500";

O tempo de duração de um certificado comum é de 3 anos. Exemplo para 10 anos:

$DAYS="-days 3650";

Salve e feche o arquivo

Criando a CA
Execute o comando

perl CA.pl -newca

ou

./CA -newca

Com exceção do Common Name, aceite os valores default, pois já alteramos o openssl.cnf anteriormente.

Informe

Country Name (2 letter code) [BR]:  State or Province Name (full name) [DF]: Locality Name (eg, city) [Brasilia]: Organization Name (eg, company) [Test Net Company]:  Organizational Unit Name (eg, section) [Ditec]: Common Name (eg, YOUR name) []:Autoridade Certificadora do Test Net Company Email Address [ditec@test.net]:

= Disponibilizando a CA =

Agora que criamos a CA, vamos disponibilizar ele para importar no Navegador, ou para ser importado na Trust Store.

O certificado raiz é o arquivo


 * Linux: /etc/pki/tls/demoCA/cacert.pem
 * Windows: C:\Program Files\OpenSSL-Win64\bin\demoCA\cacert.pem

Renomeie-o para ca-company.crt e coloque em um site interno para download ou distribua via Police no MS Windows (GPO).

= Criando um par de Chaves=

Execute o comando

perl CA.pl -newreq

ou

./CA -newreq

Informe

Country Name (2 letter code) [BR]:  State or Province Name (full name) [DF]: Locality Name (eg, city) [Brasilia]: Organization Name (eg, company) [Test Net Company]:  Organizational Unit Name (eg, section) [Ditec]: Common Name (eg, YOUR name) []:www.test.net Email Address [ditec@test.net]:

Será criado 2 arquivos:


 * newreq.pem: Arquivo de requisição (CSR)
 * newkey.pem: Chave privada assinada

Assine a chave criada OpenSSL: Assinando um CSR com a nossa CA

= Ver também =


 * OpenSSL: Assinando um CSR com a nossa CA
 * OpenLDAP:Configurando um LDAP Proxy


 * Mais Artigos sobre outras Tecnologias
 * Mais Artigos sobre Apache HTTP Server
 * Mais Artigos sobre Linux / UNIX / AIX