Tecnología

Inicio

Tutorial de Python SSL

Python es un lenguaje interpretado que se ha vuelto popular entre muchos programadores y administradores de servidores. Es conocido por su relativa facilidad de uso y su biblioteca considerable de herramientas para manejar las tareas informáticas comunes, que van desde la animación de gráficos para la creación de redes. Un ejemplo de esto es la biblioteca SSL, que ofrece todas las herramientas que un desarrollador necesita para crear una conexión Secure Sockets Layer (SSL) para clientes y servidores.

Instrucciones

1 Abra un editor de texto, preferiblemente un editor de programación con resaltado de sintaxis de Python.

2 Pegue el siguiente código en su editor, tomada directamente de la documentación de la biblioteca de Python SSL:

Toma de importación, ssl, pprint

s = socket.socket (socket.AF_INET, socket.SOCK_STREAM)

requerirá un certificado de servidor

ssl_sock = ssl.wrap_socket (s,

ca_certs="/etc/ca_certs_file",

cert_reqs = ssl.CERT_REQUIRED)

ssl_sock.connect (( 'www.verisign.com', 443))

pprint.pprint (ssl_sock.getpeercert ())

en cuenta que el cierre de la SSLSocket también se cerrará el socket subyacente

ssl_sock.close ()

Este sencillo programa de cliente SSL se conectará a un servidor (en este caso, verisign.com), solicitar una copia de su certificado SSL, e imprimir la información sobre él, antes de cerrar la conexión. Guarde su trabajo como "SSLclient.py."

3 Abrir un nuevo editor de texto y pega el siguiente código de servidor SSL en ella. Una vez más, este código se toma directamente de la documentación de SSL:

Toma de importación, ssl

context = ssl.SSLContext (ssl.PROTOCOL_TLSv1)

context.load_cert_chain (certfile = "mycertfile", el archivo clave = "mykeyfile")

bindsocket = socket.socket ()

bindsocket.bind (( 'myaddr.mydomain.com', 10023))

bindsocket.listen (5)

while True:

newsocket, FromAddr = bindsocket.accept ()

connstream = context.wrap_socket (newsocket, server_side = True)

tratar:

deal_with_client(connstream)

finalmente:

connstream.close()

Este código es un poco más compleja, y requiere que usted compra un certificado SSL. Estos certificados no pueden ser generadas por el programa. Ellos deben ser creados por un proveedor de "confianza" de certificados, como Verisign. Certificados generalmente cuestan entre $ 399 y $ 1,499 al año, aunque a veces se pueden comprar de forma más barata en combinación con los contratos de servicios de alojamiento web. Si usted tiene un certificado y su clave, reemplazar el "mycertfile" con el nombre de archivo para el certificado y la "mykeyfile" con el nombre de archivo para su clave.