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
Criada: 8 de novembro de 2024