Python Tutorial SSL

May 29

Python è un linguaggio interpretato che è diventato popolare con molti programmatori e amministratori di server. E 'noto per la sua relativa facilità di utilizzo e la sua biblioteca considerevole di strumenti per gestire le attività di elaborazione comuni, che vanno dall'animazione grafica al networking. Un esempio di questo è la libreria SSL, che fornisce tutti gli strumenti uno sviluppatore ha bisogno di creare un Secure Sockets Layer (SSL) per client e server.

istruzione

1 Aprire un editor di testo, preferibilmente un editor di programmazione con Python evidenziazione della sintassi.

2 Incollare il seguente codice nel vostro editor, presa direttamente dalla documentazione libreria Python SSL:

Presa di importazione, SSL, pprint

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

richiedere un certificato dal server

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 ())

notare che la chiusura del SSLSocket anche chiudere il socket sottostante

ssl_sock.close ()

Questo semplice programma client SSL si connette a un server (in questo caso, verisign.com), richiedere una copia del suo certificato SSL, e stampare le informazioni su di esso, prima di chiudere la connessione. Salvare il lavoro come "SSLclient.py."

3 Aprire un nuovo editor di testo e incollare il seguente codice server SSL in esso. Ancora una volta, questo codice è presa direttamente dalla documentazione SSL:

Presa di importazione, SSL

context = ssl.SSLContext (ssl.PROTOCOL_TLSv1)

context.load_cert_chain (certfile = "mycertfile", keyfile = "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)

provare:

deal_with_client(connstream)

finalmente:

connstream.close()

Questo codice è un po 'più complessa, e richiede che si acquista un certificato SSL. Questi certificati non possono essere programmi generati. Devono essere creati da un fornitore certificato "di fiducia", come ad esempio Verisign. I certificati in genere costano tra $ 399 e $ 1499 all'anno, anche se a volte possono essere acquistati più a buon mercato, in combinazione con contratti di servizio di web-hosting. Se si dispone di un certificato e la relativa chiave, sostituire la "mycertfile" con il nome del file per il certificato e la "mykeyfile" con il nome del file per la sua chiave.