2017-05-19 50 views
7

Czy Perl obsługuje SSL/TLS przez moduły rdzeniowe?Czy istnieje rdzeń modułu Perla dla obsługi SSL/TLS?

Używam HTTP::Tiny i chcę pobrać adres URL https bez instalowania żadnej biblioteki oraz w zależności od zewnętrznych bibliotek i XS.

Czy istnieje opcja pozwalająca HTTP::Tiny na pracę z SSL bez polegania na OpenSSL, czy istnieje jakiś czysty moduł Perla do pobierania danych z SSL bez konieczności korzystania z modułów XS?

+3

Biblioteki kryptograficzne ... nie jest to coś, co chcesz ponownie wprowadzić we wszystkich językach, w których są potrzebne. –

+1

Dodałem tag ssl, aby Steffen Ullrich zauważył to pytanie. Zwykle ma dużo do powiedzenia na ten temat. – simbabque

+1

@simbabque: Zauważyłem to, ale Sinan już miał doskonałą odpowiedź. –

Odpowiedz

7

Obsługa SSL/TLS jest zapewniana przez Net::SSLeay i IO::Socket::SSL. Moduły takie jak HTTP::Tiny i LWP łączą się z procedurami OpenSSL za pośrednictwem tych warstw.

Brak podstawowego lub czystego modułu Perla obsługującego HTTPS.

+0

[Tutaj jest dowód] (https://grep.metacpan.org/search?q=ssl&qd=Module%3A%3ACoreList&qft=&qci=on), że nie ma żadnego modułu z '/ ssl/i' w jego nazwie w rdzeń Perla, przynajmniej od czasu, kiedy narzędzie 'corelist' jest już w pobliżu. – simbabque

-1

Po pierwsze, można uniknąć używania XS z modułem Protocol :: TLS. Jest to czysty perl i można go użyć powyżej modułu gniazda rdzenia.

Po drugie, można uniknąć używania OpenSSL z Crypt :: MatrixSSL. MatrixSSL wydaje się lekki i bezpieczny. Zobacz przykład kodu IO :: Stream :: MatrixSSL.

+0

Liczba opublikowanych luk w zabezpieczeniach nie jest wskaźnikiem bezpieczeństwa biblioteki. Jeśli tak, to niska liczba luk w zabezpieczeniach jest wskaźnikiem, że nikt go nie testuje –