Troubleshooter IT

Certificados autoassinados SSL em Truststore em 1 Script

Certificados SSL autossinados e armazenado em truststore

Este artigo não tem como objetivo ensinar conceitos aprofundados sobre certificados autoassinados, SSL, keytool, OpenSSL, truststores, autoridades certificadoras ou criptografia. Se você está em busca de explicações teóricas ou fundamentos técnicos sobre esses temas, este não é o lugar!

Aqui, nosso foco é prático: vamos compartilhar apenas os comandos essenciais para que você possa gerar rapidamente certificados autoassinados, incluindo as credenciais de uma “autoridade certificadora” local. O objetivo é facilitar o processo para quem precisa de uma solução funcional de forma rápida, sem se aprofundar em detalhes técnicos.

Caso você queira se aprofundar nos tópicos mencionados — entender como funcionam certificados, ferramentas de geração e gestão de chaves, ou detalhes sobre autoridades certificadoras — recomendamos a leitura do anexo do documento “Creating Self-Signed SSL Certificates for Siebel Innovation Pack 2017 (Doc ID 2294567.1)”, disponível no My Oracle Support. Lá, você encontrará informações detalhadas e conceitos fundamentais sobre o tema.

Certificados autoassinados SSL e armazenados em truststore

Os comandos apresentados foram desenvolvidos para ambientes Linux e testados nas versões Oracle Linux 8 (OL8) e Oracle Linux 9 (OL9), desde que o OpenSSL e o Java já estejam instalados — esse é um pré-requisito indispensável.

Apesar disso, os comandos funcionam de maneira equivalente no Windows. No entanto, é necessário adaptar alguns detalhes, como a forma de definir e acessar variáveis de ambiente, o método de criação e o padrão de acesso aos caminhos de arquivos (paths), além dos caminhos específicos para o keytool (localizado no diretório do Java) e para o OpenSSL (que dependerá do local de instalação).

Atenção: Não copie e cole todos os comandos de uma só vez no console. Execute-os individualmente, pois alguns exigem a digitação, confirmação ou edição de dados durante a execução.

Se tudo der certo, o último comando vai gerar um output como o o abaixo.

Certificados SSL autossinados e armazenado em truststore
				
					export PASSWORD=senha_da_truststore
export ALIAS_CA=ca_siebel_dev 
export ALIAS_CERT=siebel_dev 
export CURRENTDIR=path onde vc vai gerar os arquivos e a Truststore. Ex: /apl/siebel/certstemp  
export DOMINIO=*.seudominio.com.br 

rm -R $CURRENTDIR/CA 
rm -R $CURRENTDIR/keys  
mkdir -p $CURRENTDIR/CA  
mkdir -p $CURRENTDIR/keys  

echo 1-  Criando a Trust
keytool -genkey -alias siebel -keystore $CURRENTDIR/keys/siebeltruststore.jks -keyalg RSA -sigalg SHA256withRSA -dname "cn=$DOMINIO" -storepass $PASSWORD  

echo 2- Criando uma requisição de assinatura  
keytool -certreq -alias siebel -keystore $CURRENTDIR/keys/siebeltruststore.jks -file $CURRENTDIR/keys/siebeltruststore.csr -storepass $PASSWORD  

echo 3- Criando a Autoridade Certificadora - CA 
openssl req -new -keyout "$CURRENTDIR/CA/cakey.pem" -out "$CURRENTDIR/CA/careq.pem" -subj "/CN=dev_env-ca"  

echo 4- Assinando a Autoridade Certificadora - CA 
openssl x509 -signkey "$CURRENTDIR/CA/cakey.pem" -req -days 3650 -in "$CURRENTDIR/CA/careq.pem" -out "$CURRENTDIR/CA/caroot.cer" -extensions v3_ca  

echo 5 – Criando um aquivo serial.txt com conteúdo dummy  
echo 1234 > "$CURRENTDIR/CA/serial.txt"  

echo 6 – Gerando um certificado de CA Assinado com base na Requisição de Assinatura 
openssl x509 -CA "$CURRENTDIR/CA/caroot.cer" -CAkey "$CURRENTDIR/CA/cakey.pem" -CAserial "$CURRENTDIR/CA/serial.txt" -req -in "$CURRENTDIR/keys/siebeltruststore.csr" -out "$CURRENTDIR/keys/siebeltruststoreCASigned.cer" -days 3650  

echo 7- Adicionando a Autoridade Certificadora - CA na Trust 
keytool -import -alias ca -file $CURRENTDIR/CA/caroot.cer -keystore $CURRENTDIR/keys/siebeltruststore.jks  

echo 8- Adicionando na Trust  
keytool -import -alias siebel -file $CURRENTDIR/keys/siebeltruststoreCASigned.cer -keystore $CURRENTDIR/keys/siebeltruststore.jks  

echo 9- Listando o conteúdo da Trust pra ver se tá tudo certo. 
keytool -list -v -keystore $CURRENTDIR/keys/siebeltruststore.jks 
				
			

Após seguir todos os passos descritos, você poderá utilizar o arquivo .../keys/siebeltruststore.jks como truststore e keystore em uma nova instalação do ambiente Siebel.

Os certificados gerados, tanto o da Autoridade Certificadora (CA) quanto o do domínio, possuem validade de 10 anos.

Atenção: Certificados autoassinados não são recomendados para ambientes de produção ou para sistemas com acesso exposto à internet, devido às limitações de segurança. 

Sair da versão mobile