deserialize (OpenID::Association)

    # File lib/openid/association.rb, line 27
        def self.deserialize(serialized)
          parsed = Util.kv_to_seq(serialized)
          parsed_fields = parsed.map{|k, v| k.to_sym}
          if parsed_fields != FIELD_ORDER
              raise ProtocolError, 'Unexpected fields in serialized association'\
              " (Expected #{FIELD_ORDER.inspect}, got #{parsed_fields.inspect})"
          end
          version, handle, secret64, issued_s, lifetime_s, assoc_type =
            parsed.map {|field, value| value}
          if version != '2'
            raise ProtocolError, "Attempted to deserialize unsupported version "\
                                 "(#{parsed[0][1].inspect})"
          end

          self.new(handle,
                   Util.from_base64(secret64),
                   Time.at(issued_s.to_i),
                   lifetime_s.to_i,
                   assoc_type)
        end