Preciso de uma ajuda de vocês. Já desenvolvi algumas consultas com VBA consumindo APIs, mas não sou programador....me viro bem.
No projeto atual necessito algo parecido, mas dessa vez o servidor exige a utilização de um certificado - e estou tendo dificuldade.
Toda comunicação inicial foi realizada via Postman com o dito certificado. No Postman importei um arquivo .key (gerado por mim) e um .crt (assinado pela empresa fornecedora).
Após muito procurar na internet em fóruns e MSDN cheguei no código básico abaixo:
Public Sub GetResults()
With CreateObject("WinHttp.WinHttpRequest.5.1")
.Open "GET", "https://teste.com.br", False
.setRequestHeader "Content-Type", "application/json"
.setRequestHeader "KEY", "xxxxxxxxxxxxxxxxxxxxxx"
.SetClientCertificate ("LOCAL_MACHINE\Personal\My-certificate")
.send
Debug.Print .responseText
End With
End Sub
Ao executar o código tenho o retorno "É necessário um certificado para concluir a autenticação do cliente" na linha '.send'.
Procurando essa frase no Google cheguei em alguns outros artigos orientando a adicionar o certificado no Windows, mas sem sucesso. Consegui adicionar apenas o .crt, já o .key diz não ser válido.
No momento o .crt está adicionado em 'Raiz do Console\Certificados(computador local)\ Pessoal\Certificados' e também no 'Autoridades de Certificação Raiz Confiável'.
Já tentei com o WinHttp.WinHttpRequest.5.1 e o MSXML2.XMLHTTP por exemplo mas sempre tenho erros e problemas relacionados ao certificado.
Acredito que não esteja sabendo de fato importar o certificado (arquivo correto) para o diretório definitivo e também passar o caminho para o código.
Pergunta
fpnasc
Olá pessoal, bom dia!
Preciso de uma ajuda de vocês. Já desenvolvi algumas consultas com VBA consumindo APIs, mas não sou programador....me viro bem.
No projeto atual necessito algo parecido, mas dessa vez o servidor exige a utilização de um certificado - e estou tendo dificuldade.
Toda comunicação inicial foi realizada via Postman com o dito certificado. No Postman importei um arquivo .key (gerado por mim) e um .crt (assinado pela empresa fornecedora).
Após muito procurar na internet em fóruns e MSDN cheguei no código básico abaixo:
Ao executar o código tenho o retorno "É necessário um certificado para concluir a autenticação do cliente" na linha '.send'.
Procurando essa frase no Google cheguei em alguns outros artigos orientando a adicionar o certificado no Windows, mas sem sucesso. Consegui adicionar apenas o .crt, já o .key diz não ser válido.
No momento o .crt está adicionado em 'Raiz do Console\Certificados(computador local)\ Pessoal\Certificados' e também no 'Autoridades de Certificação Raiz Confiável'.
Já tentei com o WinHttp.WinHttpRequest.5.1 e o
MSXML2.XMLHTTP por exemplo mas sempre tenho erros e problemas relacionados ao certificado.
Acredito que não esteja sabendo de fato importar o certificado (arquivo correto) para o diretório definitivo e também passar o caminho para o código.
Agradeço desde já pela atenção e ajuda de todos.
Att,
Fabio Nascimento.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.