Плохая ошибка дешифрования в конвейере Visual Studio DevOps (используется для работы) - PullRequest
0 голосов
/ 29 января 2019

Мой конвейер Visual Studio DevOps недавно перестал работать.Ошибка с шагом расшифровки OpenSSL:

digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:crypto/evp/evp_enc.c:537:

Мой конвейер сборки работал только 10 января (и я не изменил определение).В этой сборке использовалась та же версия задачи OpenSSL, что и сегодня (1.142.2)

Полный вывод из DevOps:

2019-01-28T23:52:54.3117192Z ==============================================================================
2019-01-28T23:52:54.3117249Z Task         : Decrypt File (OpenSSL)
2019-01-28T23:52:54.3117286Z Description  : A thin utility task for file decryption using OpenSSL.
2019-01-28T23:52:54.3117338Z Version      : 1.142.2
2019-01-28T23:52:54.3117375Z Author       : Microsoft Corporation
2019-01-28T23:52:54.3117408Z Help         : 
2019-01-28T23:52:54.3117441Z ==============================================================================
2019-01-28T23:52:54.7074315Z [command]C:\Program Files\Git\usr\bin\openssl.exe des3 -d -in D:\a\1\s\signingCertificatesEncrypted\my-release-key.keystore.enc -out D:\a\1\s\signingCertificatesDecrypted\my-release-key.keystore -pass pass:***
2019-01-28T23:52:57.4818326Z *** WARNING : deprecated key derivation used.
2019-01-28T23:52:57.4818778Z Using -iter or -pbkdf2 would be better.
2019-01-28T23:52:57.5070499Z bad decrypt
2019-01-28T23:52:57.5071102Z 25769902144:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:crypto/evp/evp_enc.c:537:

1 Ответ

0 голосов
/ 29 января 2019

У меня та же проблема с утра.После большой отладки мы обнаружили, что проблема связана с «MessageDigest» по умолчанию задачи «Расшифровать файл», который не всегда одинаков.

Вместо создания задачи «Расшифровать файл»,создайте задачу «PowerShell» со ​​скриптом powershell, содержащим:

openssl des3 -md md5 -d -in signingCertificatesEncrypted\my-release-key.keystore.enc -out signingCertificatesDecrypted\my-release-key.keystore -pass pass:$Env:CERT_PASS

Не забудьте добавить переменную окружения CERT_PASS.

Если это такне работает, попробуйте переключить -md md5 на -md XXX (с другим типом MessageDigest)

...