Documentação para Geração de Certificados, Configuração no Angular e Teste na API
Geração de Certificado do Cliente
- Geração da Chave Privada para o Cliente:
openssl genrsa -out hendel.key 2048
- Criação do Pedido de Certificado (CSR) para o Cliente:
openssl req -new -key hendel.key -out hendel.csr -subj "/C=BR/O=cw2tecnologia_2024/CN=api.develop.aws.cw2tecnologia.com.br"
- Geração da Chave Privada Criptografada para a Autoridade Certificadora (CA):
openssl genrsa -des3 -out rootCA.key 2048
- Geração do Certificado Autoassinado da Autoridade Certificadora (CA):
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1825 -out rootCA.pem -subj "/C=BR/O=cw2tecnologia_2024/CN=br_phrase_cw2tecnologia_2024"
- Assinatura do Certificado do Cliente pela Autoridade Certificadora (CA):
openssl x509 --req --in hendel.csr -CA rootCA.pem --CAkey rootCA.key --set_serial 01 --out hendel.pem --days 36500 --sha256
Configuração no Angular para Utilizar Certificados
// Método para fazer a requisição usando o certificado SSL
makeRequestWithCert() {
const apiUrl = 'https://api.develop.aws.cw2tecnologia.com.br/getcli/v1/listcli';
// Substitua os valores abaixo pelos caminhos corretos dos seus certificados
const certPath = 'caminho/do/certificado/hendel.pem';
const keyPath = 'caminho/da/chave/privada/hendel.key';
// Configuração do objeto de opções para a requisição com certificado
const options = {
headers: {
'Content-Type': 'application/json',
},
httpsAgent: {
cert: require('fs').readFileSync(certPath),
key: require('fs').readFileSync(keyPath),
},
};
// Faz a requisição usando o HttpClient com as opções de certificado
this.http.get(apiUrl, options).subscribe(
(response) => {
console.log('Resposta da API:', response);
},
(error) => {
console.error('Erro na requisição:', error);
}
);
}
Teste do Certificado SSL na API
curl --cert hendel.pem --key hendel.key https://api.develop.aws.cw2tecnologia.com.br/getcli/v1/listcli
Este comando utiliza o certificado (`hendel.pem`) e a chave privada (`hendel.key`) para realizar uma requisição para a API hospedada em `https://api.develop.aws.cw2tecnologia.com.br/getcli/v1/listcli`. Certifique-se de substituir os caminhos dos certificados conforme a estrutura do seu projeto.