def add_primitive(self, primitive: P, key: tink_pb2.Keyset.Key) -> Entry: """Adds a new primitive and key entry to the set, and returns the entry.""" if not isinstance(primitive, self._primitive_class): raise _tink_error.TinkError( 'The primitive is not an instance of {}'.format( self._primitive_class)) identifier = _crypto_format.output_prefix(key) entry = Entry(primitive, identifier, key.status, key.output_prefix_type) entries = self._primitives.setdefault(identifier, []) entries.append(entry) return entry
def primitive(self, key: tink_pb2.Keyset.Key) -> List[Entry]: """Returns a copy of the list of entries for a given key.""" return self.primitive_from_identifier( _crypto_format.output_prefix(key))