SSL o Secure Socket Layer es un protocolo de red muy importante que permite la comunicación segura entre un cliente y un servidor. Podemos encontrar su uso en casi todos los lenguajes de programación, sin embargo, si hablamos de este artículo en particular, entonces nuestro objetivo hoy es enseñarle el uso de SSL en Python en Windows 10 al compartir algunos ejemplos útiles con usted en este sentido.
Que es ssl?
Como ya hemos declarado que SSL representa la capa de enchufe segura, ahora intentaremos avanzar un paso más allá y ver qué es y cómo funciona. Este protocolo de red se utiliza para mantener un canal de comunicación seguro, por lo tanto, salvaguardar la información que se transfiere de un extremo a otro durante una sesión de comunicación. SSL asegura que toda la información que se intercambia durante una comunicación debe permanecer intacta encriptándola. Esto no solo conserva la integridad y la autenticidad de esa información, sino que también garantiza que un intruso no pueda leer esa información.
Ahora, es posible que esté pensando en cómo SSL logra hacer todo esto, o en otras palabras, cómo puede averiguar si un servidor web al que desea conectarse es hacer uso de este protocolo o no. Bueno, SSL hace esto con la ayuda de certificados que emite a todos aquellos sitios web que desean asegurarlos con este protocolo. Todos esos sitios web que están asegurados por este protocolo tienen algunos atributos específicos asociados con ellos. Por ejemplo, notará un "HTTPS" en su URL en lugar de un simple "HTTP". Además, también podrá presenciar un ícono de "bloqueo" con sus URL si están aseguradas con SSL.
Por ahora, habría creado una comprensión básica de SSL. Ahora, veamos cómo podemos hacer uso de este protocolo en Python en Windows 10.
Uso de SSL en Python en Windows 10
Hemos decidido explicarle el uso de SSL en Python en Windows 10 con la ayuda de dos ejemplos diferentes. Estos dos ejemplos se deliberan en detalle a continuación:
Nota: Los dos ejemplos que siguen se implementan en Python utilizando el IDE Spyder en Windows 10.
Ejemplo # 1: Verificación del certificado SSL de un sitio web en Python en Windows 10
En este ejemplo, queríamos verificar si el sitio web dado tiene un certificado SSL válido o no. Sin embargo, antes de continuar con este ejemplo, nos gustaría compartir con usted lo que queremos decir con un certificado SSL "válido". Cada certificado SSL tiene una fecha de emisión y una fecha de vencimiento relacionada con él. Significa que ningún certificado SSL se mantiene válido durante toda una vida, sino que su validez depende de esa fecha de vencimiento.
A veces, un sitio web tiene un certificado SSL. Sin embargo, su fecha de vencimiento podría haber pasado, lo que habría hecho que este certificado SSL no sea válido. Por lo tanto, cada vez que hablamos de verificar un certificado SSL, entonces no solo queremos verificar si un sitio web está certificado por SSL o no, sino también si ese certificado es válido o no. Para verificar el certificado SSL de un sitio web usando Python, puede escribir un código similar como el que se muestra en la siguiente imagen:
En este programa, primero importamos el módulo Python "Solicitudes" que vamos a usar en nuestro código para verificar el certificado SSL del sitio web proporcionado. Después de importar este módulo, declaramos una variable "respuesta"Y se lo asignó el valor recuperado del"peticiones.conseguir()" función. Esta función necesita un solo argumento y esa es la URL del sitio web deseado cuyo certificado desea verificar. Esta función simplemente verificará si este sitio web tiene un certificado SSL válido o no.
Después de eso, simplemente queríamos imprimir el valor del "respuesta"Variable que será"200"En caso de un certificado SSL válido. "200"Básicamente corresponde a un"DE ACUERDO"Mensaje que implica que el sitio web especificado tiene un certificado SSL válido. La URL que proporcionamos en este ejemplo es la de Google. Para averiguar si Google tiene un certificado SSL válido o no, deberá ejecutar este código después de guardarlo.
Cuando ejecutamos este código, logramos descubrir que Google tiene un certificado SSL válido ya que recibimos la respuesta "200" en nuestra salida como se muestra en la imagen a continuación:
Ahora, probaremos el mismo código con un sitio web aleatorio para el que ya sabíamos que tiene un certificado SSL no válido. El código que se muestra en la siguiente imagen muestra esto:
Dado que este sitio web en particular no tenía un certificado SSL válido, por lo tanto, recibimos algunos mensajes de error en la salida como se muestra en la imagen a continuación. Para ver los detalles completos de la salida, simplemente puede desplazarse hacia arriba o hacia abajo a través de su consola Spyder IDE.
Ejemplo # 2: Adquisición del certificado SSL de un sitio web en Python en Windows 10
En el ejemplo anterior, solo verificamos si un sitio web tiene un certificado SSL válido o no. Sin embargo, a veces, es posible que también queramos ver el certificado SSL de un sitio web. Para eso, tendremos que adquirir ese certificado SSL de alguna manera. Esto se puede hacer con la ayuda del siguiente código Python:
En este programa, primero importamos los dos módulos Python requeridos I.mi. "ssl" y "urllib". Después de importar estos dos módulos, creamos una variable "Url"A la que asignamos la URL del sitio web objetivo cuyo certificado SSL queríamos adquirir. En nuestro caso, la URL es de Google. Luego, creamos una variable llamada "addr"A la que asignamos la URL analizada que acabamos de asignar al"url" variable. Después de eso, declaramos el "puerto"Variable a la que asignamos el valor" 443 ". Aquí, nos gustaría decirle que "443" es el puerto estándar que se utiliza para todo tipo de transacciones seguras. Por lo tanto, no importa qué certificado SSL del sitio web desea adquirir, aún tendrá que proporcionar el mismo número de puerto.
Entonces, tenemos un "certificado"Variable a la que asignamos los resultados del"ssl.get_server_certificate ()" función. Esta función acepta la URL analizada, el número de puerto y la versión SSL como entrada y devuelve el certificado SSL completo del sitio web de destino como salida. Finalmente, queríamos imprimir el valor de la variable "Cert" en la consola Spyder IDE. Para recuperar el certificado SSL del sitio web especificado, primero guardamos este script de Python y luego lo ejecutamos.
El certificado SSL del sitio web de destino se muestra en la imagen a continuación que en nuestro caso fue Google. Sin embargo, también puede cambiarlo con cualquier otro sitio web de su elección.
Conclusión
Esta discusión comenzó con una rápida introducción a SSL y cómo funciona este protocolo. Luego, le presentamos los certificados SSL que se emiten para verificar la seguridad de un sitio web. Después de eso, compartimos con ustedes dos ejemplos muy simples pero muy informativos que utilizan este protocolo en Python en Windows 10. En general, una vez que revise este artículo, desarrollará una muy buena comprensión del funcionamiento de SSL en Python en Windows 10.