Documentação para Geração de Certificados, Configuração no Angular e Teste na API

Documentação para Geração de Certificados, Configuração no Angular e Teste na API

Geração de Certificado do Cliente

  1. Geração da Chave Privada para o Cliente:
    openssl genrsa -out hendel.key 2048
  2. 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"
  3. Geração da Chave Privada Criptografada para a Autoridade Certificadora (CA):
    openssl genrsa -des3 -out rootCA.key 2048
  4. 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"
  5. 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.

Você achou esse artigo útil?