Как успешно обновить openSSL?

Вопрос или проблема

У меня есть компьютер с Unix и старая бинарная версия OpenSSL (версия 1.0.2h). Я наткнулся на следующую ссылку:

https://github.com/cloudflare/sslconfig/tree/master

И она предлагает мне пропатчить мой OpenSSL, чтобы я мог включить шифр ChaCha20/Poly1305.

Я не знаю, как это сделать.

Я попробовал выполнить:

patch < openssl__chacha20_poly1305_draft_and_rfc_ossl102g.patch

потому что я думаю, что это для OpenSSL 1.0.2g, который на одну букву ниже моей версии.

Я получил следующий результат:

can't find file to patch at input line 48
Perhaps you should have used the -p or --strip option?
The text leading up to this was:
--------------------------
|From d21c75c622eb13a80080ed15fa30474f806a0a0f Mon Sep 17 00:00:00 2001
|From: Vlad Krasnov <[email protected]>
|Date: Fri, 12 Feb 2016 18:25:11 -0800
|Subject: [PATCH] Implementation of draft and RFC versions of CHACHA20-POLY1305
| ciphers
|
|---
| Configure                                    |  48 +-
| Makefile.org                                 |   4 +-
| apps/speed.c                                 |  30 +-
| crypto/chacha20poly1305/Makefile             |  97 +++
| crypto/chacha20poly1305/asm/chacha20_avx.pl  | 408 +++++++++++
| crypto/chacha20poly1305/asm/chacha20_avx2.pl | 443 ++++++++++++
| crypto/chacha20poly1305/asm/poly1305_avx.pl  | 732 ++++++++++++++++++++
| crypto/chacha20poly1305/asm/poly1305_avx2.pl | 984 +++++++++++++++++++++++++++
| crypto/chacha20poly1305/asm/poly1305_x64.pl  | 281 ++++++++
| crypto/chacha20poly1305/chacha20.c           | 162 +++++
| crypto/chacha20poly1305/chacha20poly1305.h   |  79 +++
| crypto/chacha20poly1305/chapolytest.c        | 470 +++++++++++++
| crypto/chacha20poly1305/poly1305.c           | 287 ++++++++
| crypto/cryptlib.c                            |  10 -
| crypto/evp/Makefile                          |   7 +-
| crypto/evp/e_chacha20poly1305.c              | 435 ++++++++++++
| crypto/evp/evp.h                             |   4 +
| ssl/s3_lib.c                                 | 119 ++++
| ssl/ssl.h                                    |   2 +
| ssl/ssl_ciph.c                               |  60 +-
| ssl/ssl_locl.h                               |   2 +
| ssl/tls1.h                                   |  28 +
| test/Makefile                                |  17 +-
| 23 files changed, 4655 insertions(+), 54 deletions(-)
| create mode 100644 crypto/chacha20poly1305/Makefile
| create mode 100644 crypto/chacha20poly1305/asm/chacha20_avx.pl
| create mode 100644 crypto/chacha20poly1305/asm/chacha20_avx2.pl
| create mode 100644 crypto/chacha20poly1305/asm/poly1305_avx.pl
| create mode 100644 crypto/chacha20poly1305/asm/poly1305_avx2.pl
| create mode 100644 crypto/chacha20poly1305/asm/poly1305_x64.pl
| create mode 100644 crypto/chacha20poly1305/chacha20.c
| create mode 100644 crypto/chacha20poly1305/chacha20poly1305.h
| create mode 100644 crypto/chacha20poly1305/chapolytest.c
| create mode 100644 crypto/chacha20poly1305/poly1305.c
| create mode 100644 crypto/evp/e_chacha20poly1305.c
|
|diff --git a/Configure b/Configure
|index 4a715dc..f3ab6cd 100755
|--- a/Configure
|+++ b/Configure
--------------------------

Затем он спрашивает меня, какой файл пропатчить.

Что мне написать?

Ответ или решение

Как успешно патчить OpenSSL: Подробное руководство

Вам необходимо обновить ваш OpenSSL до версии, поддерживающей шифр ChaCha20/Poly1305. В данной статье мы рассмотрим процесс применения патча для OpenSSL 1.0.2h, который, как вы заметили, не удается выполнить из-за ошибок при использовании команды patch. Следуя этому руководству, вы сможете успешно внести необходимые изменения в вашу установку OpenSSL.

Шаг 1: Подготовка окружения

Перед началом убедитесь, что у вас установлены все необходимые инструменты для сборки и компиляции, включая gcc, make, и patch. Если они отсутствуют, можно установить их с помощью менеджера пакетов вашей Unix-системы. Например, для Debian-подобных систем:

sudo apt-get update
sudo apt-get install build-essential

Также вам может понадобиться скачать сам патч, если вы этого еще не сделали.

Шаг 2: Скачивание патча

Скачайте патч с GitHub по следующей ссылке, если вы этого еще не сделали:

wget https://github.com/cloudflare/sslconfig/raw/master/openssl__chacha20_poly1305_draft_and_rfc_ossl102g.patch

Шаг 3: Извлечение исходников OpenSSL

Необходимо извлечь исходные коды OpenSSL версии 1.0.2h. Если исходники у вас отсутствуют, их можно скачать с официального сайта OpenSSL:

wget https://www.openssl.org/source/old/1.0.2/openssl-1.0.2h.tar.gz
tar -xzvf openssl-1.0.2h.tar.gz
cd openssl-1.0.2h

Шаг 4: Применение патча

Теперь вы готовы применить патч. Зайдите каталоги с исходниками OpenSSL и выполните следующую команду:

patch -p1 < ../openssl__chacha20_poly1305_draft_and_rfc_ossl102g.patch

Если вы получаете ошибки, такие как "can’t find file to patch", это может означать, что команда patch не может найти нужные файлы для изменения. Ваша версия OpenSSL должна находиться в каталоге, где вы выполняете команду. Также убедитесь, что вы находитесь в корневом каталоге OpenSSL при применении патча.

Шаг 5: Конфигурация и компиляция

После успешного применения патча выполните следующие команды для конфигурации и сборки OpenSSL с поддержкой новых шифров:

./config
make
sudo make install

Это установит OpenSSL на ваше устройство, включая шифры ChaCha20/Poly1305.

Шаг 6: Проверка установки

Чтобы убедиться, что ваш OpenSSL установлен правильно и поддерживает необходимые шифры, выполните следующую команду:

openssl ciphers 'CHAOS'

Если вы видите ChaCha20-Poly1305 в выводе, значит, вы успешно патчили OpenSSL.

Заключение

Теперь вы знаете, как успешно применить патч к OpenSSL и включить в него поддержку шифра ChaCha20/Poly1305. Патчинг программного обеспечения может быть сложным процессом, но с правильными инструментами и шагами вы сможете это сделать успешно. Не забывайте поддерживать ваше ПО в актуальном состоянии, чтобы защитить системы от уязвимостей.

Оцените материал
Добавить комментарий

Капча загружается...