diff options
-rw-r--r-- | cryptography/hazmat/primitives/interfaces.py | 16 | ||||
-rw-r--r-- | docs/hazmat/primitives/interfaces.rst | 34 |
2 files changed, 50 insertions, 0 deletions
diff --git a/cryptography/hazmat/primitives/interfaces.py b/cryptography/hazmat/primitives/interfaces.py index d805bd1a..682a36da 100644 --- a/cryptography/hazmat/primitives/interfaces.py +++ b/cryptography/hazmat/primitives/interfaces.py @@ -205,6 +205,14 @@ class RSAPrivateKey(object): @six.add_metaclass(abc.ABCMeta) +class RSAPrivateKeyWithNumbers(RSAPrivateKey): + def private_numbers(self): + """ + Returns an RSAPrivateNumbers. + """ + + +@six.add_metaclass(abc.ABCMeta) class RSAPublicKey(object): @abc.abstractmethod def verifier(self, signature, padding, algorithm, backend): @@ -220,6 +228,14 @@ class RSAPublicKey(object): @six.add_metaclass(abc.ABCMeta) +class RSAPublicKeyWithNumbers(RSAPublicKey): + def public_numbers(self): + """ + Returns an RSAPublicNumbers + """ + + +@six.add_metaclass(abc.ABCMeta) class DSAParameters(object): @abc.abstractproperty def modulus(self): diff --git a/docs/hazmat/primitives/interfaces.rst b/docs/hazmat/primitives/interfaces.rst index d5ca59ab..8e6c2548 100644 --- a/docs/hazmat/primitives/interfaces.rst +++ b/docs/hazmat/primitives/interfaces.rst @@ -163,6 +163,22 @@ Asymmetric interfaces The bit length of the modulus. +.. class:: RSAPrivateKeyWithNumbers + + .. versionadded:: 0.5 + + Extends :class:`RSAPrivateKey`. + + .. method:: private_numbers() + + Create a + :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers` + object. + + :returns: An + :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers` + instance. + .. class:: RSAPublicKey @@ -219,6 +235,23 @@ Asymmetric interfaces The bit length of the modulus. +.. class:: RSAPublicKeyWithNumbers + + .. versionadded:: 0.5 + + Extends :class:`RSAPublicKey`. + + .. method:: public_numbers() + + Create a + :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers` + object. + + :returns: An + :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers` + instance. + + .. class:: DSAParameters .. versionadded:: 0.3 @@ -491,6 +524,7 @@ Asymmetric interfaces .. attribute:: name + Hash algorithms ~~~~~~~~~~~~~~~ |