openssh_key.key_params.common.PublicKeyParams

class openssh_key.key_params.common.PublicKeyParams(params)

Bases: collections.UserDict, abc.ABC

The parameters comprising a key.

The names and iteration order of parameters of public keys recognized by implementations of the Secure Shell (SSH) protocol are as specified in RFC 4253.

Parameters

params (Mapping[str, Any]) – The values with which to initialize this parameters object. All given values are saved, even those that do not exist in the format instructions for this key type.

Raises

UserWarning – A value in params is missing or does not have a type that matches the format instructions for this key type.

__init__(params)

Methods

__init__(params)

check_params_are_valid()

Checks whether the values within this parameters object conform to the format instructions.

clear()

conversion_functions()

Functions to extract parameter values dicts for supported types of key objects.

convert_from(key_object)

Constructs and initializes a parameters object for this key type from attributes contained in the given object.

convert_to(destination_class)

Creates and initializes an object of the given type containing the values of this parameters object.

copy()

fromkeys(iterable[, value])

get(k[,d])

get_format_instructions_dict()

The Pascal-style byte stream format instructions for the parameters of a key of this type.

items()

keys()

pop(k[,d])

If key is not found, d is returned if given, otherwise KeyError is raised.

popitem()

as a 2-tuple; but raise KeyError if D is empty.

setdefault(k[,d])

update([E, ]**F)

If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v

values()

Attributes

FORMAT_INSTRUCTIONS_DICT

The Pascal-style byte stream format instructions for the parameters of a key of this type.

FORMAT_INSTRUCTIONS_DICT = mappingproxy({})

The Pascal-style byte stream format instructions for the parameters of a key of this type.

check_params_are_valid()

Checks whether the values within this parameters object conform to the format instructions.

Raises

UserWarning – A parameter value is missing or does not have a type that matches the format instructions for this key type.

Return type

None

clear() None.  Remove all items from D.
classmethod conversion_functions()

Functions to extract parameter values dicts for supported types of key objects.

Return type

Mapping[Type[Any], ConversionFunctions]

Returns

A typing.Mapping from types of key objects to functions that take key objects of that type and return parameter values.

classmethod convert_from(key_object)

Constructs and initializes a parameters object for this key type from attributes contained in the given object.

This classmethod searches conversion_functions for a class that is a superclass of key_object. If one is found, it returns the parameters object from the typing.Mapping returned by the corresponding object_to_mapping function. Otherwise, it searches its subclasses’ conversion_functions, traversing pre-order.

Parameters

key_object (Any) – An object containing key parameter values.

Raises

NotImplementedErrorkey_object is not of a supported type, or it does not contain the attributes necessary to construct a parameters object of this class.

Return type

PublicKeyParams

convert_to(destination_class)

Creates and initializes an object of the given type containing the values of this parameters object.

This method searches conversion_functions for a class that is a subclass of key_object. If one is found, it passes this parameters object to the corresponding mapping_to_object. Otherwise, it searches its superclasses’ conversion_functions in the same way, in method resolution order, up to and including PublicKeyParams.

Parameters

destination_class (Type[Any]) – The type of the object to which the values of this parameters object are to be converted.

Raises
  • ValueErrordestination_class is not a class.

  • ImportErrordestination_class cannot be imported.

  • NotImplementedError – Converting this parameters object to an object of type destination_class is not supported.

Return type

Any

get(k[, d]) D[k] if k in D, else d.  d defaults to None.
abstract classmethod get_format_instructions_dict()

The Pascal-style byte stream format instructions for the parameters of a key of this type.

Return type

Mapping[str, Union[str, PascalStyleFormatInstruction, PascalStyleFormatInstructionStringLengthSize]]

items() a set-like object providing a view on D's items
keys() a set-like object providing a view on D's keys
pop(k[, d]) v, remove specified key and return the corresponding value.

If key is not found, d is returned if given, otherwise KeyError is raised.

popitem() (k, v), remove and return some (key, value) pair

as a 2-tuple; but raise KeyError if D is empty.

setdefault(k[, d]) D.get(k,d), also set D[k]=d if k not in D
update([E, ]**F) None.  Update D from mapping/iterable E and F.

If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v

values() an object providing a view on D's values