Method: JOSE::JWE::ALG_C20P_KW.from_map
- Defined in:
- lib/jose/jwe/alg_c20p_kw.rb
.from_map(fields) ⇒ Object
JOSE::JWE callbacks
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/jose/jwe/alg_c20p_kw.rb', line 5 def self.from_map(fields) bits = nil cipher_name = nil case fields['alg'] when 'C20PKW' bits = 256 cipher_name = 'chacha20-poly1305' else raise ArgumentError, "invalid 'alg' for JWE: #{fields['alg'].inspect}" end iv = nil if fields.has_key?('iv') iv = JOSE.urlsafe_decode64(fields['iv']) end tag = nil if fields.has_key?('tag') tag = JOSE.urlsafe_decode64(fields['tag']) end return new(cipher_name, bits, iv, tag), fields.except('alg', 'iv', 'tag') end |