Um colega entrega-lhe o certificado CA da organização. O Requests oferece um parâmetro chamado cert. Os nomes parecem combinar, mas respondem a perguntas diferentes.

DefiniçãoObjetivo
verifySeleciona o material de confiança usado para verificar a contraparte
certApresenta um certificado de cliente, com a sua chave privada, quando é necessária autenticação de cliente

Para uma CA de interceção aprovada, uma operação do Requests pode selecionar o pacote CA pretendido:

response = requests.get(
    'https://example.com/',
    proxies=routes,
    verify='/path/to/approved-ca-bundle.pem',
    timeout=15,
)

Aqui, routes é o mapeamento de proxy existente da aplicação. O caminho deve indicar o pacote de confiança legível correto para este cliente. Não é um certificado de site descarregado e escolhido apenas porque a ligação falhou.

A variável de ambiente REQUESTS_CA_BUNDLE é outra entrada de confiança suportada. Verifique o caminho de envio real se parecer ineficaz; os fluxos de pedidos preparados e as definições explícitas podem alterar a forma como a configuração do ambiente é combinada.

Não deverá precisar da chave privada da CA

O certificado CA público é o que um cliente precisa para reconhecer um emitente aprovado. A sua chave privada de assinatura é um segredo poderoso de outra parte. Não deve ser distribuída aos utilizadores da aplicação como parte de uma reparação rotineira da confiança do proxy.

Um certificado de cliente ainda pode ser exigido por um destino específico ou por outra relação TLS configurada em separado. Isso é um requisito separado, não algo inferido de cada erro de verificação de certificado.

Quando aparecer o próximo erro, nomeie a operação: carregar um ficheiro CA, verificar um certificado de contraparte ou apresentar uma identidade de cliente. Mover um ficheiro entre verify e cert até a mensagem mudar não é uma forma fiável de escolher o seu papel.

Artigos relacionados