Python SSL -eksempel

Python SSL -eksempel

SSL eller Secure Socket Layer er en veldig viktig nettverksprotokoll som muliggjør sikker kommunikasjon mellom en klient og en server. Vi kan finne bruken på nesten alle programmeringsspråk, men hvis vi snakker om denne artikkelen, er vårt mål i dag å lære deg bruken av SSL i Python i Windows 10 ved å dele noen nyttige eksempler med deg i denne forbindelse.

Hva er SSL?

Som vi allerede har uttalt at SSL står for sikkert sokkelag, vil vi derfor prøve å fortsette et skritt videre og se hva det er og hvordan det fungerer. Denne nettverksprotokollen brukes til å holde en kommunikasjonskanal sikker, og dermed beskytte informasjonen som overføres fra den ene enden til en annen under en kommunikasjonsøkt. SSL sikrer at all informasjonen som utveksles under en kommunikasjon, må holde seg intakt ved å kryptere den. Dette bevarer ikke bare integriteten og ektheten av den informasjonen, men sikrer også at en inntrenger ikke er i stand til å lese gjennom den informasjonen.

Nå kan du tenke på hvordan SSL klarer å gjøre alt dette, eller med andre ord, hvordan kan du finne ut om en webserver du vil koble til, bruker denne protokollen eller ikke. Vel, SSL gjør dette ved hjelp av sertifikater om at IT -utsteder til alle disse nettstedene som ønsker å sikre dem med denne protokollen. Alle disse nettstedene som er sikret av denne protokollen har noen spesifikke attributter tilknyttet dem. For eksempel vil du legge merke til en "HTTPS" i URL -en i stedet for en enkel "HTTP". Dessuten vil du også kunne være vitne til et "lås" -ikon med nettadressene sine hvis de er sikret med SSL.

Nå ville du bygget en grunnleggende forståelse av SSL. La oss nå se hvordan vi kan benytte oss av denne protokollen i Python i Windows 10.

Bruker SSL i Python i Windows 10

Vi har bestemt oss for å forklare deg bruken av SSL i Python i Windows 10 ved hjelp av to forskjellige eksempler. Disse to eksemplene blir diskutert i detalj nedenfor:

Merk: Begge de to eksemplene som følger implementeres i Python ved bruk av Spyder IDE i Windows 10.

Eksempel 1: Verifisering av SSL -sertifikatet til et nettsted i Python i Windows 10

I dette eksemplet ønsket vi å bekrefte om det gitte nettstedet har et gyldig SSL -sertifikat eller ikke. Før vi fortsetter med dette eksemplet, vil vi imidlertid dele med deg hva vi mener med et "gyldig" SSL -sertifikat. Hvert SSL -sertifikat har en utstedelsesdato og en utløpsdato koblet til den. Det betyr at ingen SSL -sertifikater forblir gyldig i en hel levetid, snarere er gyldigheten av den utløpsdatoen.

Noen ganger har et nettsted et SSL -sertifikat. Imidlertid kan utløpsdatoen ha gått som ville ha gjort dette SSL -sertifikatet ugyldig. Derfor, når vi snakker om å verifisere et SSL -sertifikat, mener vi ikke bare å sjekke om et nettsted er SSL -sertifisert eller ikke, men også om det sertifikatet er gyldig eller ikke. For å bekrefte SSL -sertifikatet til et nettsted ved hjelp av Python, kan du skrive en lignende kode som den som er vist i følgende bilde:

I dette programmet importerte vi først "forespørsler" Python -modulen som vi skal bruke i koden vår for å bekrefte SSL -sertifikatet til det medfølgende nettstedet. Etter å ha importert denne modulen, erklærte vi en variabel “respons”Og tildelt den verdien hentet fra“forespørsler.få()”Funksjon. Denne funksjonen trenger et enkelt argument, og det er nettadressen til ønsket nettsted hvis sertifikat du vil bekrefte. Denne funksjonen vil ganske enkelt sjekke om dette nettstedet har et gyldig SSL -sertifikat eller ikke.

Etter det ønsket vi ganske enkelt å skrive ut verdien av "respons”Variabel som vil være“200”I tilfelle et gyldig SSL -sertifikat. “200”Tilsvarer i utgangspunktet en“Ok”Melding som innebærer at det spesifiserte nettstedet har et gyldig SSL -sertifikat. URL -en som vi ga i dette eksemplet er Google. For å finne ut om Google har et gyldig SSL -sertifikat eller ikke, må du utføre denne koden etter å ha lagret den.

Da vi utførte denne koden, klarte vi å finne ut at Google har et gyldig SSL -sertifikat siden vi mottok “200” -responsen i utdataene våre som vist på bildet nedenfor:

Nå vil vi teste den samme koden med et tilfeldig nettsted som vi allerede visste at den har et ugyldig SSL -sertifikat. Koden vist i følgende bilde viser dette:

Siden dette spesielle nettstedet ikke hadde et gyldig SSL -sertifikat, mottok vi derfor noen feilmeldinger i utdataene som vist på bildet nedenfor. For å se hele detaljene i utdataene, kan du ganske enkelt bla opp eller ned gjennom Spyder IDE -konsollen.

Eksempel 2: Innhenting av SSL -sertifikatet til et nettsted i Python i Windows 10

I eksemplet ovenfor sjekket vi bare om et nettsted har et gyldig SSL -sertifikat eller ikke. Noen ganger vil vi imidlertid også se SSL -sertifikatet til et nettsted. For det må vi anskaffe det SSL -sertifikatet på en eller annen måte. Dette kan gjøres ved hjelp av følgende Python -kode:

I dette programmet importerte vi først de to nødvendige Python -modulene i.e. “SSL”Og“urllib”. Etter å ha importert disse to modulene, opprettet vi en variabel “URL”Som vi tildelte nettadressen til målnettstedet hvis SSL -sertifikat vi ønsket å skaffe oss. I vårt tilfelle er nettadressen til Google. Deretter opprettet vi en variabel som heter “addr”Som vi tildelte den analyserte URL -en som vi nettopp har tildelt“URL”Variabel. Etter det erklærte vi “havn”Variabel som vi tildelte verdien“ 443 ”. Her vil vi fortelle deg at “443” er standardporten som brukes til alle slags sikrede transaksjoner. Derfor spiller det ingen rolle hvilket nettsteds SSL -sertifikat du vil skaffe deg, du må fremdeles oppgi det samme portnummeret.

Deretter har vi en "Cert”Variabel som vi tildeler resultatene av“SSL.get_server_certificate ()”Funksjon. Denne funksjonen godtar den analyserte URL, portnummeret og SSL -versjonen som input og returnerer det komplette SSL -sertifikatet til målnettstedet som en utdata. Til slutt ønsket vi å skrive ut verdien av "Cert" -variabelen på Spyder IDE -konsollen. For å hente SSL -sertifikatet på det spesifiserte nettstedet, lagret vi først dette Python -skriptet og deretter utførte det.

SSL -sertifikatet til målnettstedet vises på bildet nedenfor som i vårt tilfelle var Google. Imidlertid kan du også bytte det med et hvilket som helst annet nettsted du ønsker.

Konklusjon

Denne diskusjonen begynte med en rask introduksjon til SSL og hvordan denne protokollen fungerer. Deretter introduserte vi deg for SSL -sertifikatene som er utstedt for å bekrefte sikkerheten til et nettsted. Etter det delte vi med dere to veldig enkle, men veldig informative eksempler som benytter seg av denne protokollen i Python i Windows 10. Totalt sett, når du først vil gå gjennom denne artikkelen, vil du utvikle en veldig god forståelse av arbeidet med SSL i Python i Windows 10.