Qual è la differenza tra set_client_CA_list_from_file di M2Crypto () e load_verify_info () e quando si usa ciascuno?

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

  •  13-09-2019
  •  | 
  •  

Domanda

Il href="http://chandlerproject.org/bin/view/Projects/MeTooCrypto" rel="nofollow biblioteca M2Crypto ha alcune funzioni di CA relative alla sua oggetto SSL.Context , ma la documentazione è molto chiaro da cui si deve utilizzare alcune funzioni e perché. Infatti, la documentazione per la quasi totalità di loro sono, "certs carico di CA nel contesto", così sembra possibile che tutti fanno la stessa cosa.

Ci sono diversi < a href = "http://www.cs.technion.ac.il/~danken/SecureXMLRPCServer.py" rel = "nofollow noreferrer"> esempi che utilizzano sia set_client_CA_list_from_file() e load_verify_info(), ma esistono anche altre simili funzioni come load_client_ca() e load_verify_locations().

Le scrivo entrambi i pezzi client e server. Quali funzioni devo usare e perché? Che cosa in particolare fanno?

Modifica

Guardando attraverso il codice che vedo:

# Deprecated.
load_client_CA = load_client_ca = set_client_CA_list_from_file

e

# Deprecated.
load_verify_info = load_verify_locations

in modo che aiuta un po '. Questo ci porta verso il basso per due funzioni: set_client_CA_list_from_file() e load_verify_locations(). Ma io ancora non riesco a capire la differenza tra i due.

È stato utile?

Soluzione

Se il server richiede al cliente di presentare un certificato, è possibile limitare chi sono le emittenti valide dei certificati client specificando le emittenti chiamando set_client_CA_list_from_file . Questo è in realtà piuttosto raro.

Il client specifica chi sono gli emittenti di certificati server valido chiamando load_verify_locations . Quasi tutti i clienti dovrebbero fare questo.

sia client che server possono chiamare load_cert per impostare il proprio certificato. I server devono quasi sempre fare questo. I clienti dovrebbero probabilmente fare questa operazione solo se il server richiede al cliente di presentare un certificato.

Vi consiglio di prendere una copia di Sicurezza di rete con OpenSSL da John Viega, Matt Messier e Pravir Chandra, ISBN 059600270X, che dovrebbe chiarire questi aspetti in modo più dettagliato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top