Qual é a diferença entre set_client_CA_list_from_file de M2Crypto () e load_verify_info () e quando você usar cada um?

StackOverflow https://stackoverflow.com/questions/1848160

  •  13-09-2019
  •  | 
  •  

Pergunta

O href="http://chandlerproject.org/bin/view/Projects/MeTooCrypto" rel="nofollow noreferrer"> biblioteca tem algumas funções relacionadas ao CA na sua SSL.Context objeto , mas a documentação é muito claro a respeito de quando você usaria certas funções e porquê. Na verdade, os documentos para quase todos eles são "certs carga CA para o contexto", de modo que parece possível que todos eles fazem a mesma coisa.

vários < a href = "http://www.cs.technion.ac.il/~danken/SecureXMLRPCServer.py" rel = "nofollow noreferrer"> exemplos que o uso tanto set_client_CA_list_from_file() e load_verify_info(), mas também há outra semelhante funções como load_client_ca() e load_verify_locations().

Estou escrevendo ambos os pedaços de cliente e servidor. Quais as funções que eu deveria usar e por quê? O que especificamente eles fazem?

Editar:

Olhando através do código que eu ver:

# Deprecated.
load_client_CA = load_client_ca = set_client_CA_list_from_file

e

# Deprecated.
load_verify_info = load_verify_locations

Assim que ajuda um pouco. Isto leva-nos para baixo para duas funções: set_client_CA_list_from_file() e load_verify_locations(). Mas eu ainda não consigo dizer a diferença entre os dois.

Foi útil?

Solução

Se o seu servidor requer que o cliente apresentar um certificado, ele pode restringir quem são os emissores válidas dos certificados de cliente, especificando os emissores de chamada set_client_CA_list_from_file . Isso é realmente muito raro.

Os especifica do cliente, que são os emissores de certificado de servidor válido chamando load_verify_locations . Quase todos os clientes devem fazer isso.

Tanto o cliente eo servidor pode chamar load_cert para definir seu próprio certificado. Os servidores devem quase sempre fazer isso. Clientes provavelmente deve fazer isso somente se o servidor requer que o cliente apresentar um certificado.

Eu recomendo que você pegar uma cópia do Segurança de Rede com OpenSSL por John Viega, Matt Messier e Pravir Chandra, ISBN 059600270X, que deve esclarecer estas questões com mais detalhes.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top