Nwlapcug.com


Tutorial su Python SSL

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

Istruzioni

1

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

2

Incollare il seguente codice nel tuo editor, prelevati direttamente dalla documentazione della libreria Python SSL:

importazione di presa, ssl, pprint

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

Si noti che il SSLSocket di chiusura chiuderà anche il socket sottostante

ssl_sock.Close()

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

3

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

presa di importazione, ssl

contesto = 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)

mentre il vero:

newsocket, fromaddr = bindsocket.accept()

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

provare:

deal_with_client(connstream)

Infine:

connstream.close()

Questo codice è leggermente più complesso e richiede che si acquista un certificato SSL. Questi certificati non possono essere generati dal programma. Devono essere creati da un fornitore certificato "attendibile", ad esempio Verisign. Certificati in genere costi tra $399 e 1.499 $ all'anno, anche se a volte possono essere acquistati a prezzi più bassi in combinazione con contratti di servizio di web hosting. Se si dispone di un certificato e la chiave, è possibile sostituire il "mycertfile" con il nome di file per il certificato e il "mykeyfile" con il nome di file per la chiave.