Przykład Python SSL

Przykład Python SSL

SSL lub Secure Socket Layer to bardzo ważny protokół sieciowy, który umożliwia bezpieczną komunikację między klientem a serwerem. Możemy znaleźć jego użycie w prawie wszystkich językach programowania, jednak jeśli mówimy o tym konkretnym artykule, naszym celem jest dziś nauczenie korzystania z SSL w Python w systemie Windows 10, dzieląc się z Tobą przydatnymi przykładami w tym zakresie.

Co to jest SSL?

Jak już stwierdziliśmy, że SSL oznacza bezpieczną warstwę gniazda, dlatego teraz spróbujemy kontynuować krok dalej i zobaczyć, co to jest i jak to działa. Ten protokół sieciowy służy do zapewnienia bezpieczeństwa kanału komunikacyjnego, a tym samym zabezpieczenia informacji przenoszonych z jednego końca do drugiego podczas sesji komunikacyjnej. SSL zapewnia, że ​​wszystkie informacje wymieniane podczas komunikacji muszą pozostać nienaruszone, szyfrując ją. To nie tylko zachowuje integralność i autentyczność tych informacji, ale także zapewnia, że ​​intruz nie jest w stanie przeczytać tych informacji.

Teraz możesz zastanowić się, w jaki sposób SSL udaje się to wszystko zrobić, lub innymi słowy, jak możesz dowiedzieć się, czy serwer WWW, z którym chcesz się połączyć, jest korzystanie z tego protokołu, czy nie. Cóż, SSL robi to za pomocą certyfikatów, że wydaje to dla wszystkich stron internetowych, które chcą je zabezpieczyć tym protokołem. Wszystkie te strony internetowe, które są zabezpieczone tym protokołem, mają pewne konkretne atrybuty związane z nimi. Na przykład zauważysz „https” w ich adresie URL zamiast prostego „http”. Ponadto będziesz mógł być świadkiem ikony „zamka” z ich adresami URL, jeśli zostaną zabezpieczone SSL.

Do tej pory zbudowałbyś podstawowe zrozumienie SSL. Zobaczmy teraz, w jaki sposób możemy skorzystać z tego protokołu w Python w Windows 10.

Korzystanie z SSL w Python w systemie Windows 10

Postanowiliśmy wyjaśnić użycie SSL w Python w systemie Windows 10 za pomocą dwóch różnych przykładów. Te dwa przykłady zostały szczegółowo omówione poniżej:

Notatka: Oba dwa poniższe przykłady są zaimplementowane w Python za pomocą Spyder IDE w systemie Windows 10.

Przykład nr 1: Weryfikacja certyfikatu SSL witryny w Python w systemie Windows 10

W tym przykładzie chcieliśmy sprawdzić, czy dana strona internetowa ma ważny certyfikat SSL, czy nie. Jednak przed przejściem do tego przykładu chcielibyśmy podzielić się z Tobą, co rozumiemy przez „ważny” certyfikat SSL. Każdy certyfikat SSL ma datę emisji i związany z nim data ważności. Oznacza to, że żaden certyfikat SSL nie pozostaje ważny przez cały okres życia, a raczej jego ważność zależy od daty ważności.

Czasami strona internetowa ma certyfikat SSL. Jednak jego data ważności mogła minąć, co uwypukliłoby ten certyfikat SSL. Dlatego za każdym razem, gdy mówimy o weryfikacji certyfikatu SSL, to nie tylko rozumiemy, czy witryna jest certyfikowana SSL, czy nie, ale także to, czy certyfikat jest ważny, czy nie. Aby zweryfikować certyfikat SSL witryny za pomocą Pythona, możesz napisać podobny kod, taki jak ten pokazany na poniższym obrazku:

W tym programie najpierw zaimportowaliśmy moduł Pythona „żądań”, którego zamierzamy użyć w naszym kodzie, aby zweryfikować certyfikat SSL dostarczonej strony internetowej. Po zaimportowaniu tego modułu zadeklarowaliśmy zmienną „odpowiedź”I przypisany do niego wartość pobrana z„upraszanie.Dostawać()”Funkcja. Ta funkcja potrzebuje jednego argumentu i jest to adres URL żądanej strony internetowej, której certyfikat chcesz zweryfikować. Ta funkcja po prostu sprawdzi, czy ta strona ma prawidłowy certyfikat SSL, czy nie.

Następnie chcieliśmy po prostu wydrukować wartość „odpowiedź„Zmienna, która będzie”200”W przypadku ważnego certyfikatu SSL. "200”Zasadniczo odpowiada„OK”Wiadomość sugeruje, że określona strona internetowa ma prawidłowy certyfikat SSL. URL, który podaliśmy w tym przykładzie, to Google. Aby dowiedzieć się, czy Google ma prawidłowy certyfikat SSL, czy nie, musisz wykonać ten kod po jego zapisaniu.

Kiedy wykonaliśmy ten kod, udało nam się dowiedzieć, że Google ma prawidłowy certyfikat SSL, ponieważ otrzymaliśmy odpowiedź „200” w naszym wyjściu, jak pokazano na poniższym obrazku:

Teraz przetestujemy ten sam kod na losowej stronie internetowej, dla której już wiedzieliśmy, że ma nieprawidłowy certyfikat SSL. Kod pokazany na poniższym obrazie przedstawia to:

Ponieważ ta konkretna strona internetowa nie miała prawidłowego certyfikatu SSL, dlatego otrzymaliśmy kilka komunikatów o błędach w wyniku, jak pokazano na poniższym obrazku. Aby wyświetlić całe szczegóły wyjścia, możesz po prostu przewinąć w górę lub w dół przez swoją konsolę Spyder IDE.

Przykład nr 2: Pozyskiwanie certyfikatu SSL strony internetowej w Python w systemie Windows 10

W powyższym przykładzie sprawdziliśmy tylko, czy strona internetowa ma prawidłowy certyfikat SSL, czy nie. Czasami jednak możemy również zobaczyć certyfikat SSL na stronie internetowej. W tym celu będziemy musieli jakoś nabyć ten certyfikat SSL. Można to zrobić za pomocą następującego kodu Pythona:

W tym programie najpierw zaimportowaliśmy dwa wymagane moduły Pythona i.mi. "SSL" I "urllib". Po zaimportowaniu tych dwóch modułów stworzyliśmy zmienną „URL„Do którego przypisaliśmy adres URL strony internetowej docelowej, której certyfikat SSL chcieliśmy zdobyć. W naszym przypadku adres URL jest Google. Następnie stworzyliśmy zmienną o nazwie „addr„Do którego przypisaliśmy przeanalizowany adres URL, który właśnie przypisaliśmy„ do ”URL" zmienny. Potem ogłosiliśmy „Port„Zmienna, do której przypisaliśmy wartość„ 443 ”. Tutaj chcielibyśmy powiedzieć, że „443” to standardowy port używany do wszelkiego rodzaju zabezpieczonych transakcji. Dlatego nie ma znaczenia, który certyfikat SSL witryny chcesz zdobyć, nadal będziesz musiał podać ten sam numer portu.

Następnie mamy „certyfikat„Zmienna, do której przypisujemy wyniki„SSL.get_server_certificate ()”Funkcja. Ta funkcja akceptuje przeanalizowany adres URL, numer portu i wersję SSL jako wejście i zwraca pełny certyfikat SSL strony docelowej jako wyjście. Na koniec chcieliśmy wydrukować wartość zmiennej „Cert” na konsoli Spyder IDE. Aby odzyskać certyfikat SSL określonej strony internetowej, najpierw zapisaliśmy ten skrypt Python, a następnie wykonaliśmy go.

Certyfikat SSL na stronie docelowej jest pokazany na poniższym obrazku, który w naszym przypadku był Google. Możesz jednak przełączyć go również z dowolną inną wybraną przez siebie witryną.

Wniosek

Ta dyskusja rozpoczęła się od szybkiego wprowadzenia do SSL i sposobu działania tego protokołu. Następnie wprowadziliśmy Cię do certyfikatów SSL wydanych w celu weryfikacji bezpieczeństwa strony internetowej. Następnie podzieliliśmy się z Wami dwoma bardzo prostymi, ale bardzo pouczającymi przykładami, które wykorzystują ten protokół w Python w systemie Windows 10. Ogólnie rzecz biorąc, po przejściu tego artykułu rozwiną się bardzo dobre zrozumienie działania SSL w Python w systemie Windows 10.