diff options
| author | Paul Kehrer <paul.l.kehrer@gmail.com> | 2014-01-25 14:13:09 -0600 |
|---|---|---|
| committer | Paul Kehrer <paul.l.kehrer@gmail.com> | 2014-01-25 14:13:09 -0600 |
| commit | ac423232f884b94a24257e80ac95cccd5749ba9f (patch) | |
| tree | 44cd38a47b3e69194b978df036dd3b6a4745bef4 /cryptography | |
| parent | d062dc8a617f95e4e0b1893f384c482e16f10550 (diff) | |
| download | cryptography-ac423232f884b94a24257e80ac95cccd5749ba9f.tar.gz cryptography-ac423232f884b94a24257e80ac95cccd5749ba9f.tar.bz2 cryptography-ac423232f884b94a24257e80ac95cccd5749ba9f.zip | |
RSA private/public key interface + docs
Diffstat (limited to 'cryptography')
| -rw-r--r-- | cryptography/hazmat/primitives/interfaces.py | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/cryptography/hazmat/primitives/interfaces.py b/cryptography/hazmat/primitives/interfaces.py index 7a6bf3e2..81bab9d7 100644 --- a/cryptography/hazmat/primitives/interfaces.py +++ b/cryptography/hazmat/primitives/interfaces.py @@ -169,3 +169,91 @@ class HashContext(six.with_metaclass(abc.ABCMeta)): """ Return a HashContext that is a copy of the current context. """ + + +class RSAPrivateKey(six.with_metaclass(abc.ABCMeta)): + @abc.abstractproperty + def modulus(self): + """ + The public modulus of the RSA key. Alias for n. + """ + + @abc.abstractproperty + def public_exponent(self): + """ + The public exponent of the RSA key. Alias for e. + """ + + @abc.abstractproperty + def key_length(self): + """ + The bit length of the public modulus. + """ + + @abc.abstractproperty + def public_key(self): + """ + The RSAPublicKey associated with this private key. + """ + + @abc.abstractproperty + def n(self): + """ + The public modulus of the RSA key. + """ + + @abc.abstractproperty + def p(self): + """ + One of the two primes used to generate d. + """ + + @abc.abstractproperty + def q(self): + """ + One of the two primes used to generate d. + """ + + @abc.abstractproperty + def d(self): + """ + The private exponent. This can be calculated using p and q. + """ + + @abc.abstractproperty + def e(self): + """ + The public exponent of the RSA key. + """ + + +class RSAPublicKey(six.with_metaclass(abc.ABCMeta)): + @abc.abstractproperty + def modulus(self): + """ + The public modulus of the RSA key. Alias for n. + """ + + @abc.abstractproperty + def public_exponent(self): + """ + The public exponent of the RSA key. Alias for e. + """ + + @abc.abstractproperty + def key_length(self): + """ + The bit length of the public modulus. + """ + + @abc.abstractproperty + def n(self): + """ + The public modulus of the RSA key. + """ + + @abc.abstractproperty + def e(self): + """ + The public exponent of the RSA key. + """ |
