/ / Використання perl 5.8.8 з OpenSSL 1.0.1 для підключення до TLSv1.2 - perl, openssl

Використання perl 5.8.8 з OpenSSL 1.0.1 для з'єднання з TLSv1.2 - perl, openssl

Я працюю над сценарієм perl, який підключаєтьсясервер, що підтримує TLSv1.2. В даний час я не в змозі підключитися, оскільки perl працює на CentOS 5.4 з OpenSSL версії 0.9.8e. Я не хочу оновлювати perl, оскільки це може зламати скрипт, оскільки відбулися зміни, а остання версія perl - 5.26, що занадто остаточно. Тепер я можу запускати скрипт у різних вікнах Windows без проблем, які використовують perl 5.24. Моє запитання, чи можу я використовувати openssl 1.0.1 на CentOS 5.x та перекомпілювати модулі perl та все ще можу підключитися до TLV1.2? Я вже встановив модулі, згадані в Помилка LWP :: UserAgent та 500 SSL крім openssl. Я також слідкував https://miteshshah.github.io/linux/centos/how-to-enable-openssl-1-0-2-a-tlsv1-1-and-tlsv1-2-on-centos-5-and-rhel5/ встановити openssl, але коли я виконую версію openssl, я все ще бачу оригінальну версію, тобто 0.9.9e.

У вищенаведеному посиланні згадувалося про використання CPAN для оновлення / установки модулів perl. Замість цього я отримав rpm для модулів perl та встановив.

LWP на сервері - 5.834.

Я знаю, що ідеальним способом було б піти на CentOS 6 або пізнішу версію, але чи є кращий підхід для роботи?

Відповіді:

1 для відповіді № 1

... використовувати CPAN для оновлення / установки модулів perl. Замість цього я отримав rpm для модулів perl та встановив.

Я не маю уявлення, які обороти в хвилину ви встановили. Але вам потрібна версія модуля Net :: SSLeay (або Crypt :: SSLeay - що б ви не використовували), який пов'язаний з новою версією OpenSSL. Просто встановлення RPM за замовчуванням не допоможе, оскільки воно пов'язане зі старішою Версія OpenSSL.

Це означає, що вам потрібно встановити модульвручну, а також подбайте про те, щоб ви пов’язали його з новою бібліотекою OpenSSL. Для Net :: SSLeay це означає встановити правильний OPENSSL_PREFIX на нову версію OpenSSL, як це зафіксовано в ЧИТАТИ Net: SSLeay.

Я також рекомендую використовувати більш нову версію LWPі IO :: Socket :: SSL, оскільки TLS 1.2 зазвичай не єдина проблема. Іншими проблемами може бути те, що серверу потрібен SNI. І я раджу проти заміни системних модулів Perl, оскільки це може спричинити проблеми з іншими програмами. Замість цього використовуйте perlbrew або подібне, щоб встановити свій власний Perl, відмінний від системного Perl, і використовувати це з оновленими модулями для ваших конкретних потреб.