Esempio di Python SSL

Esempio di Python SSL

SSL o Sicke Socket Layer è un protocollo di networking molto importante che consente una comunicazione sicura tra un client e un server. Possiamo trovare il suo utilizzo in quasi tutti i linguaggi di programmazione, tuttavia, se parliamo di questo particolare articolo, il nostro obiettivo oggi è di insegnarti l'uso di SSL in Python in Windows 10 condividendo alcuni utili esempi con te in questo senso.

Cos'è SSL?

Come abbiamo già affermato che SSL sta per il livello di socket sicuro, quindi ora cercheremo di procedere ulteriormente e vedere cosa è e come funziona. Questo protocollo di networking viene utilizzato per mantenere sicuro un canale di comunicazione, quindi salvaguardando le informazioni trasferite da un'estremità all'altra durante una sessione di comunicazione. SSL garantisce che tutte le informazioni scambiate durante una comunicazione debbano rimanere intatte crittografandola. Ciò non solo preserva l'integrità e l'autenticità di tali informazioni, ma garantisce anche che un intruso non sia in grado di leggere tali informazioni.

Ora, potresti pensare a come SSL riesce a fare tutto questo, o in altre parole, come puoi scoprire se un server Web a cui desideri connetterti sta utilizzando questo protocollo o no. Bene, SSL lo fa con l'aiuto dei certificati che emette a tutti quei siti Web che desiderano proteggerli con questo protocollo. Tutti quei siti Web protetti da questo protocollo hanno alcuni attributi specifici ad essi associati. Ad esempio, noterai un "HTTPS" nel loro URL anziché un semplice "HTTP". Inoltre, sarai anche in grado di assistere a un'icona di "blocco" con i loro URL se sono fissati con SSL.

Ormai avresti costruito una comprensione di base di SSL. Ora, vediamo come possiamo utilizzare questo protocollo in Python in Windows 10.

Utilizzando SSL in Python in Windows 10

Abbiamo deciso di spiegarti l'uso di SSL in Python in Windows 10 con l'aiuto di due diversi esempi. Questi due esempi sono deliberati in dettaglio di seguito:

Nota: Entrambi i due esempi che seguono sono implementati in Python usando l'IDE Spyder in Windows 10.

Esempio n. 1: verifica del certificato SSL di un sito Web in Python in Windows 10

In questo esempio, volevamo verificare se il sito Web dato ha un certificato SSL valido o meno. Tuttavia, prima di procedere con questo esempio, vorremmo condividere con te ciò che intendiamo con un certificato SSL "valido". Ogni certificato SSL ha una data di emissione e una data di scadenza collegata ad essa. Significa che nessun certificato SSL rimane valido per un'intera vita, piuttosto che la sua validità dipende dalla data di scadenza.

A volte, un sito Web ha un certificato SSL. Tuttavia, potrebbe essere passata la sua data di scadenza che avrebbe reso questo certificato SSL non valido. Pertanto, ogni volta che parliamo di verificare un certificato SSL, non solo intendiamo verificare se un sito Web è certificato SSL o meno, ma anche se quel certificato è valido o no. Per verificare il certificato SSL di un sito Web utilizzando Python, è possibile scrivere un codice simile come quello mostrato nella seguente immagine:

In questo programma, abbiamo importato per la prima volta il modulo Python "richieste" che useremo nel nostro codice per verificare il certificato SSL del sito Web fornito. Dopo aver importato questo modulo, abbiamo dichiarato una variabile "risposta"E assegnato ad esso il valore recuperato dal"richieste.Ottenere()" funzione. Questa funzione necessita di un singolo argomento e questo è l'URL del sito Web desiderato il cui certificato si desidera verificare. Questa funzione controllerà semplicemente se questo sito Web ha un certificato SSL valido o meno.

Dopodiché, volevamo semplicemente stampare il valore di "risposta"Variabile che sarà"200"In caso di certificato SSL valido. "200"Fondamentalmente corrisponde a un"OK"Messaggio che implica che il sito Web specificato ha un certificato SSL valido. L'URL che abbiamo fornito in questo esempio è quello di Google. Per scoprire se Google ha un certificato SSL valido o meno, dovrai eseguire questo codice dopo averlo salvato.

Quando abbiamo eseguito questo codice, siamo riusciti a scoprire che Google ha un certificato SSL valido da quando abbiamo ricevuto la risposta "200" nel nostro output come mostrato nell'immagine seguente:

Ora testeremo lo stesso codice con un sito Web casuale per il quale già sapevamo che aveva un certificato SSL non valido. Il codice mostrato nella seguente immagine mostra questo:

Poiché questo particolare sito Web non aveva un certificato SSL valido, pertanto, abbiamo ricevuto alcuni messaggi di errore nell'output come mostrato nell'immagine seguente. Per visualizzare gli interi dettagli dell'output, puoi semplicemente scorrere verso l'alto o verso il basso attraverso la console IDE Spyder.

Esempio n. 2: acquisizione del certificato SSL di un sito Web in Python in Windows 10

Nell'esempio sopra, abbiamo verificato solo se un sito Web ha un certificato SSL valido o meno. Tuttavia, a volte, potremmo anche voler vedere il certificato SSL di un sito Web. Per questo, dovremo acquisire quel certificato SSL in qualche modo. Questo può essere fatto con l'aiuto del seguente codice Python:

In questo programma, abbiamo importato per la prima volta i due moduli Python richiesti i.e. "SSL" E "Urllib". Dopo aver importato questi due moduli, abbiamo creato una variabile "URL"A cui abbiamo assegnato l'URL del sito Web di destinazione il cui certificato SSL volevamo acquisire. Nel nostro caso, l'URL è di Google. Quindi, abbiamo creato una variabile denominata "ADDR"A cui abbiamo assegnato l'URL analizzato che abbiamo appena assegnato al"URL"Variabile. Dopodiché, abbiamo dichiarato il "porta"Variabile a cui abbiamo assegnato il valore" 443 ". Qui, vorremmo dirti che "443" è la porta standard che viene utilizzata per tutti i tipi di transazioni protette. Pertanto, non importa quale certificato SSL del sito Web desideri acquisire, dovrai comunque fornire lo stesso numero di porta.

Quindi, abbiamo un "Cert"Variabile a cui assegniamo i risultati di"SSL.get_server_certificate ()" funzione. Questa funzione accetta l'URL analizzato, il numero di porta e la versione SSL come input e restituisce il certificato SSL completo del sito Web di destinazione come output. Infine, volevamo stampare il valore della variabile "cert" sulla console IDE Spyder. Per recuperare il certificato SSL del sito Web specificato, abbiamo prima salvato questo script Python e poi eseguito.

Il certificato SSL del sito Web target è mostrato nell'immagine sottostante che nel nostro caso era Google. Tuttavia, puoi cambiarlo anche con qualsiasi altro sito Web a tua scelta.

Conclusione

Questa discussione è iniziata con una rapida introduzione a SSL e come funziona questo protocollo. Quindi, ti abbiamo introdotto ai certificati SSL emessi per verificare la sicurezza di un sito Web. Dopodiché, abbiamo condiviso con voi due esempi molto semplici ma molto istruttivi che utilizzano questo protocollo in Python in Windows 10. Nel complesso, una volta esaminato questo articolo, svilupperai un'ottima comprensione del funzionamento di SSL in Python in Windows 10.