es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo cargar CRL para la verificación SSL desde una cadena PEM en la biblioteca SSL de Python?

Estoy recibiendo archivos PEM CRL de un servicio web. Me gustaría crear un contexto SSL que utilizaría esta información de CRL para validación. Sin embargo, si paso estos datos como una cadena de esta manera: loadverifylocations(cadata = crldata), obtengo una excepción.

¿Existe una forma de cargar directamente CRL en un contexto SSL, o debo escribirlo primero como archivos?

Código de ejemplo: (ignorar que el CRL se carga desde un archivo)

import ssl

if name == “main”:
# !! crl_data proviene de un servicio web !!
with open(“ruta de mi archivo CRL”, “r”) as f:
crl_data = f.read()

ctx = ssl.SSLContext()
ctx.load_verify_locations(cadata=crl_data)
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible cargar directamente una lista de revocación de certificados (CRL) en un contexto SSL. Puede utilizar el método load_verify_locations() de la clase SSLContext para hacerlo. El método toma un parámetro cadata que puede utilizarse para pasar los datos de la lista CRL como una cadena.

    Código de ejemplo:

    import ssl
    
    if __name__ == "__main__":
        # !! crl_data viene de un servicio web !!
        crl_data = <crl_data_from_webservice>
    
        ctx = ssl.SSLContext()
        ctx.load_verify_locations(cadata=crl_data)
    

Comments are closed.