OpenSSL плохо расшифровывает между 0.9.8 o и 1.1.0 f

Я использую OpenSSL для кодирования открытого текста и декодирования его на нескольких удаленных серверах. Пока я тестировал свои скрипты, чтобы обеспечить совместимость Debian 9 Stretch, я обнаружил ошибку.

вот как я тест:
Debian 6, OpenSSL 0.9.8 o, кодировка строки:

# echo "Hi guys" | openssl des3 -salt -a -k "testkey"
U2FsdGVkX1+I3EBhXjqrm+MJOmKRpj+Y5TtNJaJjI/s=

декодирование на том же сервере:

# echo "U2FsdGVkX1+I3EBhXjqrm+MJOmKRpj+Y5TtNJaJjI/s=" | openssl des3 -salt -a -d -k "testkey"
Hi guys

Debian 9, OpenSSL 1.1.0 f, расшифровка строки:

# echo "U2FsdGVkX1+I3EBhXjqrm+MJOmKRpj+Y5TtNJaJjI/s=" | openssl des3 -salt -a -d -k "testkey"
bad decrypt
140259873273088:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:../crypto/evp/evp_enc.c:535:
z���AR�

пока расшифровывать работает дальше:

Debian 7, OpenSSL 1.0.1 t:

$ echo "U2FsdGVkX1+I3EBhXjqrm+MJOmKRpj+Y5TtNJaJjI/s=" | openssl des3 -salt -a -d -k "testkey"
Hi guys

Debian 8, OpenSSL 1.0.1 t

# echo "U2FsdGVkX1+I3EBhXjqrm+MJOmKRpj+Y5TtNJaJjI/s=" | openssl des3 -salt -a -d -k "testkey"
Hi guys

Итак, я протестировал кодирование на Debian 9, OpenSSL 1.1.0 F testing server:

# echo "Hi guys" | openssl des3 -salt -a -k "testkey"
U2FsdGVkX1+p/LDtOotR/gmVTfGL+LabNPvLxKqwbOk=

и декодирование на одном сервере работает:

# echo "U2FsdGVkX1+p/LDtOotR/gmVTfGL+LabNPvLxKqwbOk=" | openssl des3 -salt -a -d -k "testkey"
Hi guys

но декодирование не работает на 3 других серверах:
Debian 6, OpenSSL 0.9.8 o:

# echo "U2FsdGVkX1+p/LDtOotR/gmVTfGL+LabNPvLxKqwbOk=" | openssl des3 -salt -a -d -k "testkey"
bad decrypt
12605:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:330:
��Rv��

Debian 7, OpenSSL 1.0.1 t:

$ echo "U2FsdGVkX1+p/LDtOotR/gmVTfGL+LabNPvLxKqwbOk=" | openssl des3 -salt -a -d -k "testkey"
bad decrypt
139771367589544:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:516:
▒▒Rv▒▒

Debian 8, OpenSSL 1.0.1 t:

# echo "U2FsdGVkX1+p/LDtOotR/gmVTfGL+LabNPvLxKqwbOk=" | openssl des3 -salt -a -d -k "testkey"
bad decrypt
139719827605136:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:516:
▒▒Rv▒▒

Я проверил зависимости OpenSSL и протестированы на нескольких серверах в каждой версии.

7
задан Chenmunka
24.12.2022 9:13 Количество просмотров материала 2645
Распечатать страницу

1 ответ

Извините, ребята, через несколько минут я нашел ответ на Debian bug tracker от Sebastian Andrzej Siewior:

отчет об ошибке Debian #843064

Бах. Они изменили дайджест по умолчанию с md5 на sha256, чтобы создать ключевой. Если вы добавите '- md md5' к вашему 1.1. openssl тогда будет работать. Тот наоборот, вам нужно "- md sha256", чтобы сохранить 1.0 счастливым.

таким образом, добавляя "- md md5 " в Debian 9, он работает на старых OpenSSL string:

# echo "U2FsdGVkX1+I3EBhXjqrm+MJOmKRpj+Y5TtNJaJjI/s=" | openssl des3 -salt -md md5 -a -d -k "testkey"
Hi guys

и добавив "- md sha256 " в Старый Debian, новая строка в кодировке OpenSSL тоже работает:

# echo "U2FsdGVkX1+p/LDtOotR/gmVTfGL+LabNPvLxKqwbOk=" | openssl des3 -md sha256 -salt -a -d -k "testkey"
Hi guys

держать нить, чтобы сэкономить время для других парней :)

9
отвечен Leahkim 2022-12-25 17:01

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

debian
debian-stretch
encoding
openssl
ssl
Вверх