Crypto++ 8.2
Free C&
Public Member Functions | List of all members
PKCS8PrivateKey Class Referenceabstract

Encodes and Decodes privateKeyInfo. More...

#include <asn.h>

+ Inheritance diagram for PKCS8PrivateKey:

Public Member Functions

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

Additional Inherited Members

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

Detailed Description

Encodes and Decodes privateKeyInfo.

Definition at line 421 of file asn.h.

Constructor & Destructor Documentation

◆ ~PKCS8PrivateKey()

virtual PKCS8PrivateKey::~PKCS8PrivateKey ( )
inlinevirtual

Definition at line 424 of file asn.h.

Member Function Documentation

◆ BERDecode()

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, x25519, and ed25519PrivateKey.

Definition at line 570 of file asn.cpp.

◆ DEREncode()

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, x25519, and ed25519PrivateKey.

Definition at line 590 of file asn.cpp.

◆ GetAlgorithmID()

virtual OID PKCS8PrivateKey::GetAlgorithmID ( ) const
pure virtual

Retrieves the OID of the algorithm.

Returns
OID of the algorithm

Implemented in InvertibleRSAFunction, x25519, and ed25519PrivateKey.

◆ BERDecodeAlgorithmParameters()

virtual bool PKCS8PrivateKey::BERDecodeAlgorithmParameters ( BufferedTransformation bt)
inlinevirtual

Definition at line 432 of file asn.h.

◆ DEREncodeAlgorithmParameters()

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

Definition at line 434 of file asn.h.

◆ BERDecodePrivateKey()

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 InvertibleRSAFunction, x25519, ed25519PrivateKey, and DL_PrivateKeyImpl< GP >.

◆ DEREncodePrivateKey()

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

encode privateKey part of privateKeyInfo, without the OCTET STRING header

Implemented in DL_PrivateKeyImpl< GP >, InvertibleRSAFunction, x25519, and ed25519PrivateKey.

◆ BERDecodeOptionalAttributes()

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 608 of file asn.cpp.

◆ DEREncodeOptionalAttributes()

void PKCS8PrivateKey::DEREncodeOptionalAttributes ( BufferedTransformation bt) const
virtual

encode optional attributes including context-specific tag

Definition at line 613 of file asn.cpp.


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