¿Cuál es la diferencia entre set_client_CA_list_from_file de M2Crypto () y load_verify_info () y cuándo se usa cada uno?

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

  •  13-09-2019
  •  | 
  •  

Pregunta

El href="http://chandlerproject.org/bin/view/Projects/MeTooCrypto" rel="nofollow biblioteca M2Crypto tiene algunas funciones relacionados con el CA en su objeto SSL.Context , pero la documentación es muy claro en cuanto a cuándo puede utilizar ciertas funciones y por qué. De hecho, la documentación para casi todos ellos son "los CERT carga CA en el contexto", por lo que parece posible que todos hacen lo mismo.

Hay varios < a href = "http://www.cs.technion.ac.il/~danken/SecureXMLRPCServer.py" rel = "nofollow noreferrer"> ejemplos que utilizan tanto set_client_CA_list_from_file() y load_verify_info(), pero también hay otros similares funciones como load_client_ca() y load_verify_locations().

Estoy escribiendo ambas piezas de cliente y servidor. ¿Qué funciones debería utilizar y por qué? Específicamente, ¿qué es lo que hacen?

Editar

Mirando a través del código que veo:

# Deprecated.
load_client_CA = load_client_ca = set_client_CA_list_from_file

y

# Deprecated.
load_verify_info = load_verify_locations

Para que ayuda un poco. Esto nos lleva a dos funciones: set_client_CA_list_from_file() y load_verify_locations(). Pero todavía no puedo decir la diferencia entre los dos.

¿Fue útil?

Solución

Si el servidor requiere el cliente para presentar un certificado, puede restringir quiénes son los emisores válidas de los certificados de cliente mediante la especificación de los emisores llamando set_client_CA_list_from_file . Esto es en realidad bastante raro.

El cliente especifica quiénes son los emisores de certificados de servidor válido llamando load_verify_locations . Casi todos los clientes deben hacer esto.

Tanto el cliente y el servidor pueden llamar load_cert para configurar su propio certificado. Servidores casi siempre deben hacer esto. Los clientes probablemente debería hacer esto sólo si el servidor requiere que el cliente presentar un certificado.

Le recomiendo que elija una copia de Seguridad de la red con OpenSSL por John Viega, Matt Messier y Pravir Chandra, ISBN 059600270X, que debe aclarar estas cuestiones con más detalle.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top