openssh_key.key_params.ed25519.Ed25519PrivateKeyParams

class openssh_key.key_params.ed25519.Ed25519PrivateKeyParams(params)

Bases: openssh_key.key_params.common.PrivateKeyParams, openssh_key.key_params.ed25519.Ed25519PublicKeyParams

The parameters comprising a private key in the Edwards-curve Digital Signature Algorithm elliptic-curve cryptosystem on SHA-512 and Curve25519.

The names and iteration order of parameters of a private Ed25519 key is:

  • public: The public key (bytes).

  • private_public: The seed of the private key, followed by the public

    key (bytes).

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 parameter value from the above list is missing from params or does not have the correct type, the key size is not valid for Ed25519 (32 bytes), or the public portion of the private_public parameter value does not match the public parameter value.

__init__(params)

Methods

__init__(params)

check_params_are_valid()

Checks whether the values within this parameters object conform to the format instructions, whether the key sizes are valid for Ed25519 (32 bytes each for the private and public keys), and whether the public portion of the private_public parameter matches the public parameter.

clear()

conversion_functions()

Conversion functions for key objects of the following types:

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])

generate_private_params(**kwargs)

Constructs and initializes an Ed25519 private key parameters object with generated values.

get(k[,d])

get_format_instructions_dict()

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

get_key_size()

The value 32, the key size, in bytes, of an Ed25519 key.

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.

KEY_SIZE

The value 32, the key size, in bytes, of an Ed25519 key.

check_params_are_valid()

Checks whether the values within this parameters object conform to the format instructions, whether the key sizes are valid for Ed25519 (32 bytes each for the private and public keys), and whether the public portion of the private_public parameter matches the public parameter.

Raises

UserWarning – A parameter value is missing or does not have a type that matches the format instructions for this key type, the key sizes are incorrect, or the parameters do not match.

Return type

None

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

Conversion functions for key objects of the following types:

Return type

Mapping[Type[Any], ConversionFunctions]

Returns

A typing.Mapping from the above types of key objects to functions that take key objects of these types 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

classmethod generate_private_params(**kwargs)

Constructs and initializes an Ed25519 private key parameters object with generated values.

Parameters

kwargs (Any) – Keyword arguments consumed to generate parameter values.

Return type

TypeVar(Ed25519PrivateKeyParamsTypeVar, bound= Ed25519PrivateKeyParams)

Returns

A private key parameters object with generated values valid for an Ed25519 private key (the key size is 32 bytes).

get(k[, d]) D[k] if k in D, else d.  d defaults to None.
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]]

static get_key_size()

The value 32, the key size, in bytes, of an Ed25519 key.

Return type

int

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