צולייגן TLS נאָך דעם ווי Perl האָט געעפֿנט די SOCKS פֿאַרבינדונג
לייגט IO::Socket::SSL איבער אַ IO::Socket::Socks פֿאַרבינדונג און באַשטעטיקט דעם האָסט־נאָמען פֿון דער דעסטינאַציע.
די SOCKS פֿאַרבינדונג און די TLS פֿאַרבינדונג האָבן אַנדערע אויפֿגאַבעס. ערשט באַקומט אַ בייט־שטראָם צו דער דעסטינאַציע דורך SOCKS. דערנאָך אָנהייבט TLS איבער דעם שטראָם, און באַשטימט די דעסטינאַציע וועבזייטל און נישט דעם פּראָקסי.
פֿאַר אַ TLS ענדפּונקט פֿון HTTPS סטיל קען די אָרדענונג זיין:
use IO::Socket::Socks;
use IO::Socket::SSL;
my $target = 'example.com';
my $socket = IO::Socket::Socks->new(
SocksVersion => 5,
ProxyAddr => '127.0.0.1',
ProxyPort => 1080,
ConnectAddr => $target,
ConnectPort => 443,
) or die $!;
IO::Socket::SSL->start_SSL(
$socket,
SSL_hostname => $target,
SSL_verifycn_name => $target,
SSL_verifycn_scheme => 'http',
SSL_verify_mode => SSL_VERIFY_PEER,
) or die IO::Socket::SSL::errstr();
פֿאַר אַ פּובליק HTTPS ציל אויף אַ דערלויבטער פּובליקער פּראָקסי רוטע, די SOCKS5 פּראָקסי רשימה פֿאָרשטעלט קאַנדידאַטן פֿאַר ProxyAddr און ProxyPort. דער פֿראַגמענט בויט די טראַנספּאָרט שיכטן; די אַפּלאַקיישאַן מוז נאָך אַלץ שיקן דעם פּראָטאָקאָל וואָס די דעסטינאַציע ערוואַרט און פֿאַרמאַכן דעם סאָקעט ווען פֿאַרטיק.
האַלט דעם געמיינטן נאָמען וואָס איז געמיינט
דער פּראָקסי ענדפּונקט געהערט צו דער ערשטער פֿאַרבינדונג. TLS SNI און האָסט־נאָמען וועריפֿיקאַציע באַטרעפֿן example.com. צו ניצן דעם פּראָקסי האָסט־נאָמען אין יענעם שלב קען פֿאָדערן אָדער באַשטעטיקן אַ פֿאַלשע אידענטיטעט.
טראַסט־סטאָר קאָנפֿיגוראַציע איז נאָך אַ זעלבשטענדיקע פֿאָדערונג. ניצט די אַפּלאַקיישאַן געמיינטע CA קאָנפֿיגוראַציע און נישט אַ קאַלבאַק וואָס פֿאַרטרויט אַלץ, אַראָפּגעקאָפּירט פֿון אַ דיאַגנאָסטישן ביישפּיל.
אויב דער SOCKS שלב פֿאַלט, וועט ענדערן TLS פּאַראַמעטערס דאָס נישט פֿאַרריכטן. אויב SOCKS געלינגט און TLS פֿאַלט, האַלט דעם צערטיפֿיקאַט־ און האָסט־נאָמען פֿעלער ווי באַווײַז און נישט באַטראַכטן דאָס ווי אַ גענעראַלע פּראָקסי שטערונג.
די מאָדול נעמען זענען אויך וויכטיק: IO::Socket::Socks און IO::Socket::SSL שטעלן צו פֿאַרשידענע קאָנסטרוקטאָרן און אַפּגרעיד פֿאַרהאַלטן. אַ רויער TCP סאָקעט וואָס איז בלויז דערגרייכט דעם פּראָקסי האָט נאָך נישט פֿאַרענדיקט די SOCKS דעסטינאַציע פאַרהאַנדלונג.