Sha256: 69d8214a40fc9c576e55850d7b8e7573fd41e6f2f0ab77cf38e3f09127d7b449

Contents?: true

Size: 509 Bytes

Versions: 1

Compression:

Stored size: 509 Bytes

Contents

module JWE
  module Serialization
    class Compact
      def self.encode(header, encrypted_cek, iv, ciphertext, tag)
        [ header, encrypted_cek, iv, ciphertext, tag ].map { |piece| JWE::Base64::jwe_encode(piece) }.join '.'
      end

      def self.decode(payload)
        parts = payload.split('.')
        raise JWE::DecodeError.new('Not enaugh or too many segments') unless parts.length == 5

        parts.map do |part|
          JWE::Base64.jwe_decode(part)
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jwe-0.1.0 lib/jwe/serialization/compact.rb