instance method
decrypt
Ruby on Rails 8.1.2
Since v2.3.18 PrivateSignature
decrypt(encrypted_message)
No documentation comment.
Parameters
-
encrypted_messagereq
Source
# File activesupport/lib/active_support/message_encryptor.rb, line 295
def decrypt(encrypted_message)
cipher = new_cipher
encrypted_data, iv, auth_tag = extract_parts(encrypted_message)
# Currently the OpenSSL bindings do not raise an error if auth_tag is
# truncated, which would allow an attacker to easily forge it. See
# https://github.com/ruby/openssl/issues/63
if aead_mode? && auth_tag.bytesize != AUTH_TAG_LENGTH
throw :invalid_message_format, "truncated auth_tag"
end
cipher.decrypt
cipher.key = @secret
cipher.iv = iv
if aead_mode?
cipher.auth_tag = auth_tag
cipher.auth_data = ""
end
decrypted_data = cipher.update(encrypted_data)
decrypted_data << cipher.final
rescue OpenSSLCipherError => error
throw :invalid_message_format, error
end
Defined in activesupport/lib/active_support/message_encryptor.rb line 295
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveSupport::MessageEncryptor