Versão atual:

Como usar certificado digital já configurado no Protheus

Saudações, estou fazendo um programa que precisa buscar cte no sefaz, vou usar o mesmo certificado que já está configurado para emissão de notas, como faço para saber onde ele está gravado? Tem alguma classe ou função que já traz o certificado. Segue exemplo do código que tenho, se não for possível desta forma,qual seria outra forma?

    // abre o certificado
    Local cCaminho := "\conectar\certs\"  
    Local cNomCert := "certificado"
    Local cPwdCert := "senhacertificado"
    aCertif         := GetCert(cNomCert,cPwdCert,cCaminho,.T.)
    cSSLCACertFile     := aCertif[1][2]
    cSSLKeyFile        := aCertif[2][2]
    cSSLCertFile       := aCertif[3][2]    

    oWsdl := TWsdlManager():New()

    /* Certificados e Password */
    lSSLInsecure     := .t. 
    lVerbose        := .t.
    cSSLKeyPwd         := cPwdCert

    oWsdl:cSSLCACertFile     := cSSLCACertFile
    oWsdl:cSSLKeyFile        := cSSLKeyFile
    oWsdl:cSSLCertFile       := cSSLCertFile
    oWsdl:cSSLKeyPwd         := cSSLKeyPwd
    oWsdl:nSSLVersion        := 0
    oWsdl:nTimeout           := 120
    oWsdl:lSSLInsecure        := lSSLInsecure
    oWsdl:lVerbose            := lVerbose

    /* Conexao WSDL */
    cUrl := cnUrlWSDL("CTEDISTRIBUICAODFE")
    xRet := oWsdl:ParseURL(cUrl)

Encontrei o seguinte código:

        cArqIni := GetAdv97()
        cCertPem := GetPvProfString('SSLConfigure','CertificateClient','', cArqIni)
        cCertKey := GetPvProfString('SSLConfigure','KeyClient','', cArqIni)
        cCertPass := GetPvProfString('SSLConfigure','PassPhrase','', cArqIni)

Retorna dados do certificado, mas não retorna tudo que precisa para a classe TWsdlManager, já viram a função GetPvProfString? Será que em como rela retornar todos os dados necessário para conexão com TWsdlManager?

Versões (2):

Ver a versão formatada

Como usar certificado digital já configurado no Protheus

Comentário

new question