Class: ActionDispatch::Cookies::UpgradeLegacyHmacAesCbcCookieJar
- Inherits:
-
EncryptedCookieJar
- Object
- AbstractCookieJar
- EncryptedCookieJar
- ActionDispatch::Cookies::UpgradeLegacyHmacAesCbcCookieJar
- Defined in:
- actionpack/lib/action_dispatch/middleware/cookies.rb
Overview
UpgradeLegacyHmacAesCbcCookieJar is used by ActionDispatch::Session::CookieStore to upgrade cookies encrypted with AES-256-CBC with HMAC to AES-256-GCM
Constant Summary
Constants included from SerializedCookieJars
SerializedCookieJars::MARSHAL_SIGNATURE
Instance Method Summary collapse
- #decrypt_and_verify_legacy_encrypted_message(name, signed_message) ⇒ Object
-
#initialize(parent_jar) ⇒ UpgradeLegacyHmacAesCbcCookieJar
constructor
A new instance of UpgradeLegacyHmacAesCbcCookieJar.
Methods inherited from AbstractCookieJar
Methods included from ChainedCookieJars
#encrypted, #permanent, #signed, #signed_or_encrypted
Constructor Details
#initialize(parent_jar) ⇒ UpgradeLegacyHmacAesCbcCookieJar
Returns a new instance of UpgradeLegacyHmacAesCbcCookieJar.
641 642 643 644 645 646 647 648 |
# File 'actionpack/lib/action_dispatch/middleware/cookies.rb', line 641 def initialize(parent_jar) super secret = key_generator.generate_key(request. || "")[0, ActiveSupport::MessageEncryptor.key_len] sign_secret = key_generator.generate_key(request. || "") @legacy_encryptor = ActiveSupport::MessageEncryptor.new(secret, sign_secret, cipher: "aes-256-cbc", digest: digest, serializer: ActiveSupport::MessageEncryptor::NullSerializer) end |
Instance Method Details
#decrypt_and_verify_legacy_encrypted_message(name, signed_message) ⇒ Object
650 651 652 653 654 655 656 |
# File 'actionpack/lib/action_dispatch/middleware/cookies.rb', line 650 def (name, ) deserialize(name, @legacy_encryptor.decrypt_and_verify()).tap do |value| self[name] = { value: value } end rescue ActiveSupport::MessageVerifier::InvalidSignature, ActiveSupport::MessageEncryptor::InvalidMessage nil end |