Ir para o conteúdo

Exemplos de Uso

Nesta seção, você encontra alguns exemplos de como realizar consultas REST utilizando certificado digital.

Importante

Nota Sobre os Exemplos

Os exemplos fornecidos nesta seção são simples, com o mínimo de configurações necessárias para funcionar. O desenvolvedor precisa estar qualificado na linguagem em questão para ser capaz estudar e entender o exemplo e implementar a comunicação no sistema que consumirá o e-Frotas.

Se o certificado digital estiver registrado em arquivo, a conexão pode ser feita conforme os exemplos abaixo.

JAVA

import java.net.URI; 

import java.net.http.HttpClient; 

import java.net.http.HttpRequest; 

import java.net.http.HttpResponse; 

import java.nio.file.Path; 

import java.security.KeyStore; 

import javax.net.ssl.SSLContext; 

import javax.net.ssl.TrustManagerFactory; 

import javax.net.ssl.KeyManagerFactory; 



public class ExemploRequisicaoSSL { 

    public static void main(String[] args) throws Exception { 

        String url = "https://efrotas.exemplo/endpoint"; 



        // Carregar o certificado do cliente (chave privada) 

        KeyStore keyStore = KeyStore.getInstance("PKCS12"); 

        keyStore.load(new FileInputStream("caminho_certificado/private_key.p12"), "senha".toCharArray()); 



        // Inicializar o KeyManagerFactory 

        KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); 

        kmf.init(keyStore, "senha".toCharArray()); 



        // Carregar o trust store (certificado público) 

        KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType()); 

        trustStore.load(new FileInputStream("caminho_certificado/public_certificate.crt"), null); 



        // Inicializar o TrustManagerFactory 

        TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); 

        tmf.init(trustStore); 



        // Criar contexto SSL 

        SSLContext sslContext = SSLContext.getInstance("TLS"); 

        sslContext.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null); 



        // Criar HttpClient com contexto SSL 

        HttpClient client = HttpClient.newBuilder().sslContext(sslContext).build(); 



        // Criar requisição 

        HttpRequest request = HttpRequest.newBuilder() 

                .uri(new URI(url)) 

                .GET() 

                .build(); 



        // Enviar requisição e imprimir a resposta 

        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString()); 

        System.out.println("Código de Status: " + response.statusCode()); 

        System.out.println("Corpo da Resposta: " + response.body()); 

    } 

} 

Python

import requests 



# Caminho para o certificado e a chave 

cert_path = "caminho_certificado/public_certificate.crt" 

key_path = "caminho_certificado/private_key.pem" 

url = "https://efrotas.exemplo/endpoint" 



# Realizar requisição usando certificado e chave 

response = requests.get(url, cert=(cert_path, key_path)) 



# Imprimir o código de status e o corpo da resposta 

print("Código de Status:", response.status_code) 

print("Corpo da Resposta:", response.text) 

CURL

curl --cert caminho_certificado/public_certificate.crt --key caminho_certificado/private_key.pem https://efrotas.exemplo/endpoint 

Última atualização: 19 de novembro de 2024
Criada: 8 de novembro de 2024