Dúvida
Como criptografar um conteúdo para enviar à API de cobrança online do Bradesco usando a criptografia no formato PKCS#7 com os algoritmos RSA 2048 E SHA256 (sha256WithRSAEncryption)?
Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) – ADVPL – A partir da versão 12.1.17
Solução
Utilize a função SMIMESign( ).
Exemplo
// BIBLIOTECAS NECESSÁRIAS
#Include "TOTVS.ch"
// BARRA DE SEPARAÇÃO DE DIRETÓRIOS
#Define BAR IIf(IsSrvUnix(), "/", "\")
//------------------------------------------------------
// ENVIA JSON CRIPTOGRAFADO PARA O BANCO BRADESCO
//------------------------------------------------------
User Function T288APCK7()
Local cCert := BAR + "certificate" + BAR + "myCorp_cert.pem"
Local cKey := BAR + "certificate" + BAR + "myCorp_key.pem"
Local cJson := '{"status": "ok"}'
Local cOption := "-nodetach"
Local cError := Space(0)
Local cPasswd := "MyPasswordHere"
Local cRet := SMIMESign(cCert, cKey, cJson, cOption, @cError, cPasswd)
Local cURL := "https://cobranca.bradesconetempresa.b.br/ibpjregistrotitulows/registrotitulo"
Local nTimeOut := 180
Local aHeadOut := {}
Local cHeadRet := Space(0)
Local cResp := HTTPSPost(cURL, cCert, cKey, cPasswd, Space(0), cRet, nTimeOut, aHeadOut, @cHeadRet)
Return (NIL)
Observação
Esta disponível em anexo um exemplo completo demonstrando cada etapa para geração e envio das informações (T228PCK7.prw).
Saiba mais
SMIMESign
0 Comentários