From 3e0c21e274b32d9c6dd2ac41ee8607e37d400e83 Mon Sep 17 00:00:00 2001 From: David Reid Date: Tue, 13 May 2014 14:30:45 -0700 Subject: Documentation and interfaces for serialization to RSA*Numbers representations. --- cryptography/hazmat/primitives/interfaces.py | 16 +++++++++++++ docs/hazmat/primitives/interfaces.rst | 34 ++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) diff --git a/cryptography/hazmat/primitives/interfaces.py b/cryptography/hazmat/primitives/interfaces.py index d805bd1a..8e0dd873 100644 --- a/cryptography/hazmat/primitives/interfaces.py +++ b/cryptography/hazmat/primitives/interfaces.py @@ -455,3 +455,19 @@ class EllipticCurvePublicKey(object): """ The EllipticCurve that this key is on. """ + + +@six.add_metaclass(abc.ABCMeta) +class RSAPrivateNumbersSerialization(object): + def rsa_private_numbers(self): + """ + Returns an RSAPrivateNumbers. + """ + + +@six.add_metaclass(abc.ABCMeta) +class RSAPublicNumbersSerialization(object): + def rsa_public_numbers(self): + """ + Returns an RSAPublicNumbers + """ diff --git a/docs/hazmat/primitives/interfaces.rst b/docs/hazmat/primitives/interfaces.rst index d5ca59ab..c27782e4 100644 --- a/docs/hazmat/primitives/interfaces.rst +++ b/docs/hazmat/primitives/interfaces.rst @@ -491,6 +491,40 @@ Asymmetric interfaces .. attribute:: name + +Key Serialization +----------------- + +.. class:: RSAPrivateNumbersSerialziation + + .. versionadded:: 0.5 + + .. method:: rsa_private_numbers() + + Serialize to an + :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers` + representation. + + :returns: An + :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers` + instance. + + +.. class:: RSAPublicNumberSerialization + + .. versionadded:: 0.5 + + .. method:: rsa_public_numbers() + + Serialize to an + :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers` + representation. + + :returns: An + :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers` + instance. + + Hash algorithms ~~~~~~~~~~~~~~~ -- cgit v1.2.3 From 48fe4151b03cd15098d72e2ed394fd08085803f0 Mon Sep 17 00:00:00 2001 From: Paul Kehrer Date: Sat, 7 Jun 2014 15:38:40 -0500 Subject: change names of key -> numbers interfaces --- cryptography/hazmat/primitives/interfaces.py | 8 ++++---- docs/hazmat/primitives/interfaces.rst | 20 ++++++++++---------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/cryptography/hazmat/primitives/interfaces.py b/cryptography/hazmat/primitives/interfaces.py index 8e0dd873..e827271f 100644 --- a/cryptography/hazmat/primitives/interfaces.py +++ b/cryptography/hazmat/primitives/interfaces.py @@ -458,16 +458,16 @@ class EllipticCurvePublicKey(object): @six.add_metaclass(abc.ABCMeta) -class RSAPrivateNumbersSerialization(object): - def rsa_private_numbers(self): +class RSAPrivateNumbersAvailable(object): + def private_numbers(self): """ Returns an RSAPrivateNumbers. """ @six.add_metaclass(abc.ABCMeta) -class RSAPublicNumbersSerialization(object): - def rsa_public_numbers(self): +class RSAPublicNumbersAvailable(object): + def public_numbers(self): """ Returns an RSAPublicNumbers """ diff --git a/docs/hazmat/primitives/interfaces.rst b/docs/hazmat/primitives/interfaces.rst index c27782e4..677199ca 100644 --- a/docs/hazmat/primitives/interfaces.rst +++ b/docs/hazmat/primitives/interfaces.rst @@ -492,33 +492,33 @@ Asymmetric interfaces .. attribute:: name -Key Serialization ------------------ +Raw Numbers +~~~~~~~~~~~ -.. class:: RSAPrivateNumbersSerialziation +.. class:: RSAPrivateNumbersAvailable .. versionadded:: 0.5 - .. method:: rsa_private_numbers() + .. method:: private_numbers() - Serialize to an + Create a :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers` - representation. + object. :returns: An :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers` instance. -.. class:: RSAPublicNumberSerialization +.. class:: RSAPublicNumbersAvailable .. versionadded:: 0.5 - .. method:: rsa_public_numbers() + .. method:: public_numbers() - Serialize to an + Create a :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers` - representation. + object. :returns: An :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers` -- cgit v1.2.3 From f0a48c6916bf7963dc27043401a73a685943a16c Mon Sep 17 00:00:00 2001 From: Paul Kehrer Date: Sat, 7 Jun 2014 17:04:13 -0500 Subject: change to sub-interface idea --- cryptography/hazmat/primitives/interfaces.py | 32 +++++++------- docs/hazmat/primitives/interfaces.rst | 66 ++++++++++++++-------------- 2 files changed, 49 insertions(+), 49 deletions(-) diff --git a/cryptography/hazmat/primitives/interfaces.py b/cryptography/hazmat/primitives/interfaces.py index e827271f..682a36da 100644 --- a/cryptography/hazmat/primitives/interfaces.py +++ b/cryptography/hazmat/primitives/interfaces.py @@ -204,6 +204,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 @@ -219,6 +227,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 @@ -455,19 +471,3 @@ class EllipticCurvePublicKey(object): """ The EllipticCurve that this key is on. """ - - -@six.add_metaclass(abc.ABCMeta) -class RSAPrivateNumbersAvailable(object): - def private_numbers(self): - """ - Returns an RSAPrivateNumbers. - """ - - -@six.add_metaclass(abc.ABCMeta) -class RSAPublicNumbersAvailable(object): - def public_numbers(self): - """ - Returns an RSAPublicNumbers - """ diff --git a/docs/hazmat/primitives/interfaces.rst b/docs/hazmat/primitives/interfaces.rst index 677199ca..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 @@ -492,39 +525,6 @@ Asymmetric interfaces .. attribute:: name -Raw Numbers -~~~~~~~~~~~ - -.. class:: RSAPrivateNumbersAvailable - - .. versionadded:: 0.5 - - .. method:: private_numbers() - - Create a - :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers` - object. - - :returns: An - :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers` - instance. - - -.. class:: RSAPublicNumbersAvailable - - .. versionadded:: 0.5 - - .. method:: public_numbers() - - Create a - :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers` - object. - - :returns: An - :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers` - instance. - - Hash algorithms ~~~~~~~~~~~~~~~ -- cgit v1.2.3