Fabcoin Core  0.16.2
P2P Digital Currency
Public Member Functions | Protected Attributes | List of all members
PKCS8PrivateKey Class Referenceabstract

Encodes and decodesprivateKeyInfo. More...

#include <asn.h>

Inheritance diagram for PKCS8PrivateKey:
[legend]
Collaboration diagram for PKCS8PrivateKey:
[legend]

Public Member Functions

virtual ~PKCS8PrivateKey ()
 
void BERDecode (BufferedTransformation &bt)
 Decode this object from a BufferedTransformation. More...
 
void DEREncode (BufferedTransformation &bt) const
 Encode this object into a BufferedTransformation. More...
 
virtual OID GetAlgorithmID () const =0
 Retrieves the OID of the algorithm. More...
 
virtual bool BERDecodeAlgorithmParameters (BufferedTransformation &bt)
 
virtual bool DEREncodeAlgorithmParameters (BufferedTransformation &bt) const
 
virtual void BERDecodePrivateKey (BufferedTransformation &bt, bool parametersPresent, size_t size)=0
 decode privateKey part of privateKeyInfo, without the OCTET STRING header More...
 
virtual void DEREncodePrivateKey (BufferedTransformation &bt) const =0
 encode privateKey part of privateKeyInfo, without the OCTET STRING header More...
 
virtual void BERDecodeOptionalAttributes (BufferedTransformation &bt)
 decode optional attributes including context-specific tag More...
 
virtual void DEREncodeOptionalAttributes (BufferedTransformation &bt) const
 encode optional attributes including context-specific tag More...
 
- Public Member Functions inherited from ASN1CryptoMaterial< PrivateKey >
void Save (BufferedTransformation &bt) const
 DER encode ASN.1 object. More...
 
void Load (BufferedTransformation &bt)
 BER decode ASN.1 object. More...
 
- Public Member Functions inherited from ASN1Object
virtual ~ASN1Object ()
 
virtual void BEREncode (BufferedTransformation &bt) const
 Encode this object into a BufferedTransformation. More...
 
- Public Member Functions inherited from GeneratableCryptoMaterial
virtual ~GeneratableCryptoMaterial ()
 
virtual void GenerateRandom (RandomNumberGenerator &rng, const NameValuePairs &params=g_nullNameValuePairs)
 Generate a random key or crypto parameters. More...
 
void GenerateRandomWithKeySize (RandomNumberGenerator &rng, unsigned int keySize)
 Generate a random key or crypto parameters. More...
 
- Public Member Functions inherited from CryptoMaterial
virtual ~CryptoMaterial ()
 
virtual void AssignFrom (const NameValuePairs &source)=0
 Assign values to this object. More...
 
virtual bool Validate (RandomNumberGenerator &rng, unsigned int level) const =0
 Check this object for errors. More...
 
virtual void ThrowIfInvalid (RandomNumberGenerator &rng, unsigned int level) const
 Check this object for errors. More...
 
virtual bool SupportsPrecomputation () const
 Determines whether the object supports precomputation. More...
 
virtual void Precompute (unsigned int precomputationStorage)
 Perform precomputation. More...
 
virtual void LoadPrecomputation (BufferedTransformation &storedPrecomputation)
 Retrieve previously saved precomputation. More...
 
virtual void SavePrecomputation (BufferedTransformation &storedPrecomputation) const
 Save precomputation for later use. More...
 
void DoQuickSanityCheck () const
 Perform a quick sanity check. More...
 
- Public Member Functions inherited from NameValuePairs
virtual ~NameValuePairs ()
 
template<class T >
bool GetThisObject (T &object) const
 Get a copy of this object or subobject. More...
 
template<class T >
bool GetThisPointer (T *&ptr) const
 Get a pointer to this object. More...
 
template<class T >
bool GetValue (const char *name, T &value) const
 Get a named value. More...
 
template<class T >
T GetValueWithDefault (const char *name, T defaultValue) const
 Get a named value. More...
 
CRYPTOPP_DLL std::string GetValueNames () const
 Get a list of value names that can be retrieved. More...
 
CRYPTOPP_DLL bool GetIntValue (const char *name, int &value) const
 Get a named value with type int. More...
 
CRYPTOPP_DLL int GetIntValueWithDefault (const char *name, int defaultValue) const
 Get a named value with type int, with default. More...
 
template<class T >
void GetRequiredParameter (const char *className, const char *name, T &value) const
 Retrieves a required name/value pair. More...
 
CRYPTOPP_DLL void GetRequiredIntParameter (const char *className, const char *name, int &value) const
 Retrieves a required name/value pair. More...
 
virtual CRYPTOPP_DLL bool GetVoidValue (const char *name, const std::type_info &valueType, void *pValue) const =0
 Get a named value. More...
 

Protected Attributes

ByteQueue m_optionalAttributes
 

Additional Inherited Members

- Static Public Member Functions inherited from NameValuePairs
static CRYPTOPP_DLL void CRYPTOPP_API ThrowIfTypeMismatch (const char *name, const std::type_info &stored, const std::type_info &retrieving)
 Ensures an expected name and type is present. More...
 

Detailed Description

Encodes and decodesprivateKeyInfo.

Definition at line 415 of file asn.h.

Constructor & Destructor Documentation

virtual PKCS8PrivateKey::~PKCS8PrivateKey ( )
inlinevirtual

Definition at line 418 of file asn.h.

Member Function Documentation

void PKCS8PrivateKey::BERDecode ( BufferedTransformation bt)
virtual

Decode this object from a BufferedTransformation.

Parameters
btBufferedTransformation object

Uses Basic Encoding Rules (BER)

Implements ASN1Object.

Reimplemented in InvertibleRSAFunction.

Definition at line 567 of file asn.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

virtual bool PKCS8PrivateKey::BERDecodeAlgorithmParameters ( BufferedTransformation bt)
inlinevirtual

Reimplemented in DL_KeyImpl< PKCS8PrivateKey, GP >, and DL_KeyImpl< PKCS8PrivateKey, DL_GroupParameters_EC< EC > >.

Definition at line 426 of file asn.h.

Here is the call graph for this function:

void PKCS8PrivateKey::BERDecodeOptionalAttributes ( BufferedTransformation bt)
virtual

decode optional attributes including context-specific tag

/note default implementation stores attributes to be output in DEREncodeOptionalAttributes

Definition at line 605 of file asn.cpp.

Here is the call graph for this function:

virtual void PKCS8PrivateKey::BERDecodePrivateKey ( BufferedTransformation bt,
bool  parametersPresent,
size_t  size 
)
pure virtual

decode privateKey part of privateKeyInfo, without the OCTET STRING header

Implemented in DL_PrivateKeyImpl< GP >, DL_PrivateKeyImpl< DL_GroupParameters_EC< EC > >, DL_PrivateKey_ECGDSA_ISO15946< EC >, DL_PrivateKey_EC< EC >, and InvertibleRSAFunction.

Here is the caller graph for this function:

void PKCS8PrivateKey::DEREncode ( BufferedTransformation bt) const
virtual

Encode this object into a BufferedTransformation.

Parameters
btBufferedTransformation object

Uses Distinguished Encoding Rules (DER)

Implements ASN1Object.

Reimplemented in InvertibleRSAFunction.

Definition at line 587 of file asn.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

virtual bool PKCS8PrivateKey::DEREncodeAlgorithmParameters ( BufferedTransformation bt) const
inlinevirtual

Reimplemented in DL_KeyImpl< PKCS8PrivateKey, GP >, and DL_KeyImpl< PKCS8PrivateKey, DL_GroupParameters_EC< EC > >.

Definition at line 428 of file asn.h.

Here is the call graph for this function:

void PKCS8PrivateKey::DEREncodeOptionalAttributes ( BufferedTransformation bt) const
virtual

encode optional attributes including context-specific tag

Definition at line 610 of file asn.cpp.

virtual void PKCS8PrivateKey::DEREncodePrivateKey ( BufferedTransformation bt) const
pure virtual

encode privateKey part of privateKeyInfo, without the OCTET STRING header

Implemented in DL_PrivateKeyImpl< GP >, DL_PrivateKeyImpl< DL_GroupParameters_EC< EC > >, DL_PrivateKey_ECGDSA_ISO15946< EC >, DL_PrivateKey_EC< EC >, and InvertibleRSAFunction.

Here is the caller graph for this function:

virtual OID PKCS8PrivateKey::GetAlgorithmID ( ) const
pure virtual

Retrieves the OID of the algorithm.

Returns
OID of the algorithm

Implemented in DL_KeyImpl< PKCS8PrivateKey, GP >, DL_KeyImpl< PKCS8PrivateKey, DL_GroupParameters_EC< EC > >, and InvertibleRSAFunction.

Member Data Documentation

ByteQueue PKCS8PrivateKey::m_optionalAttributes
protected

Definition at line 443 of file asn.h.


The documentation for this class was generated from the following files: