You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
New project logo (DelphiOpenSSL.png / DelphiOpenSSL.svg), referenced in the README
EVP_EncryptInit_ex and EVP_DecryptInit_ex wrapper functions in OpenSSL.Core.pas, with proper handling for both the Indy OpenSSL headers and the TaurusTLS backend
Changed
EVP_GetKeyIV now derives the key and IV using the cipher's actual key_len and iv_len
EOpenSSLError is now declared as a proper class (class(Exception))
Fixed
IV handling in TEncUtil.Encrypt / TEncUtil.Decrypt: the IV pointer is now determined from EVP_CIPHER_iv_length. A nil IV is passed for ciphers that don't use one (e.g. AES-ECB), and the IV length is validated for ciphers that require one. This fixes incorrect EVP initialization for ECB mode and prevents undefined behavior caused by invalid IV sizes (contributed by Denis Zhadan, #21)
Correct key/IV derivation for ciphers that do not use an IV