Utilizando certificado do tipo A3 todo o processo está funcionando corretamente. Porém ao utilizar um certificado do tipo A1 estou recebendo uma resposta que me diz o seguinte:
Código: E190
Mensagem: Erro na autenticação. Certificado digital inválido.
Correção: O solicitante do serviço de processamento do arquivo deve utilizar um certificado digital padrão ICP Brasil, não revogado e não expirado.
Realizei diversas pesquisas nos tutoriais aqui do Fórum bem como na documentação da MSDN mas foi tudo sem sucesso.
Pelo que notei o erro pode estar no processo de envio do certificado logo antes de chamar o método Send() da comunicação.
oServerWS:=CreateObject( "MSXML2.ServerXMLHTTP.6.0" )
if cServico == 'GerarNfseEnvio'
cCertificado:=NFSe_Versao_0202_Identifica_Certificado(cSerialCert)
oServerWS:setOption( 3, "CURRENT_USER\MY\ " + cCertificado )
endif
oServerWS:open('POST', cLinkWS, .F.)
oServerWS:setRequestHeader('SoapAction', cServSoap )
oServerWS:setRequestHeader('Content-Type', 'text/xml; charset=utf-8')
oServerWS:setRequestHeader('Content-Length', Len(cXml))
oDOMDoc:=CreateObject("MSXML2.DOMDocument.6.0")
oDOMDoc:async := .F.
oDOMDoc:validateOnParse := .T.
oDOMDoc:resolveExternals := .F.
oDOMDoc:preserveWhiteSpace := .T.
oDOMDoc:LoadXML(cXml)
oServerWS:send(oDOMDoc:xml)
Aqui está o meu código atual de comunicação. Alguém poderia me ajudar a entender o que posso estar fazendo de errado?