Estou fazendo uma integração com uma API do ITAU e como forma de segurança é gerado um certificado CRT e uma KEY para ser enviado em cada requisição de POST para a API.
Gostaria de saber se alguém sabe como posso fazer isso utilizando o HttpPost ou FwRest.
Segue um exemplo da requisição utilizando o PHP:
$ch = curlinit();
curl_setopt($ch, CURLOPT_URL, "https://sts.itau.com.br/api/oauth/token");
curl_setopt($ch, CURLOPT_PORT , 443);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_SSLCERT, "ARQUIVO_CERTIFICADO.crt");
curl_setopt($ch, CURLOPT_SSLKEY, "ARQUIVO_CHAVE_PRIVADA.key");
curl_setopt($ch, CURLOPT_CAINFO, "ARQUIVO_CERTIFICADO.crt");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "grant_type=client_credentials&client_id=CLIENT_ID&client_secret=SECRET"); curl_setopt($ch, CURLOPT_HTTPHEADER, array( "Content-Type: application/x-www-form-urlencoded", "x-itau-correlationID: 2", "x-itau-flowID: 1" ));
$response = curl_exec($ch);
$info =curl_errno($ch)>0 ? array("curl_error".curl_errno($ch)=>curl_error($ch)) : curl_getinfo($ch);
print_r($info);
curl_close($ch);
echo $response;