Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

PauloMacedo

Siscomex

Recommended Posts

Bom dia Pessoal, estou com o um projeto na empresa onde devo se comunicar com o serviço do governo e estou patinando para se autenticar no mesmo onde pede para enviar o certificado encapsulado em uma keystore como demostra o link abaixo:

 

 

>>>>  API SISCOMEX  <<<<

 

Já tentei de diversas formas, mas sempre me retorna o erro:

HTTPSConnectionPool(host='val.portalunico.siscomex.gov.br', port=443): Max retries exceeded with url: /portal/api/autenticar (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')])")))

Fiz o teste pelo Postman tambem e esta se comunicando corretamente, ate copiei o código gerado por ele, só que o mesmo nao gera o parte do codigo do handshake:

O certificado esta VALIDO, e é utilizado no ambiente de produção, ou seja nao tem nenhum problema com o mesmo.

import http.client 

conn = http.client.HTTPSConnection("portalunico.siscomex.gov.br"

headers = {'role-type': "IMPEXP"

try:

    conn.request("POST", "/portal/api/autenticar", headers=headers) 

    res = conn.getresponse()

    data = res.read()

    print(data.decode("utf-8"))

except Exception as erro:

    print('Erro:'+str(erro))  

 

Segue abaixo o codigo que tenho:

# coding:utf-8

#!/usr/bin/env python 

from OpenSSL import crypto

from requests_pkcs12 import post

import requests_pkcs12 

url = "https://val.portalunico.siscomex.gov.br/portal/api/autenticar"

certificado = "certificado.p12"

 

#certif = pkcs12_filename = certificado

#key    =  pkcs12_password = '123456'

 

#certificado = (pkcs12_filename=certificado,pkcs12_password='123456') 

header = {"Content-Type": "application/json",                          

          "Role-Type": "IMPEXP"} 

try:

    post(url,headers=header,proxies =proxy, pkcs12_filename=certificado,pkcs12_password='123456')   

except Exception as e:   

    print('Erro:'+str(e))

 

Se alguém souber de como eu realizar essa autenticação ficaria muito grato. 

Obrigado ....

 

 

 

 

 

 

siscomex.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.