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

Encodes and decodes subjectPublicKeyInfo. More...

#include <asn.h>

+ Inheritance diagram for X509PublicKey:

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 BERDecodePublicKey (BufferedTransformation &bt, bool parametersPresent, size_t size)=0
 decode subjectPublicKey part of subjectPublicKeyInfo, without the BIT STRING header
 
virtual void DEREncodePublicKey (BufferedTransformation &bt) const =0
 encode subjectPublicKey part of subjectPublicKeyInfo, without the BIT STRING header
 
- Public Member Functions inherited from ASN1CryptoMaterial< PublicKey >
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 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 subjectPublicKeyInfo.

Definition at line 398 of file asn.h.

Constructor & Destructor Documentation

◆ ~X509PublicKey()

virtual X509PublicKey::~X509PublicKey ( )
inlinevirtual

Definition at line 401 of file asn.h.

Member Function Documentation

◆ BERDecode()

void X509PublicKey::BERDecode ( BufferedTransformation bt)
virtual

Decode this object from a BufferedTransformation.

Parameters
btBufferedTransformation object

Uses Basic Encoding Rules (BER)

Implements ASN1Object.

Reimplemented in InvertibleRSAFunction, and ed25519PublicKey.

Definition at line 538 of file asn.cpp.

◆ DEREncode()

void X509PublicKey::DEREncode ( BufferedTransformation bt) const
virtual

Encode this object into a BufferedTransformation.

Parameters
btBufferedTransformation object

Uses Distinguished Encoding Rules (DER)

Implements ASN1Object.

Reimplemented in InvertibleRSAFunction, and ed25519PublicKey.

Definition at line 553 of file asn.cpp.

◆ GetAlgorithmID()

virtual OID X509PublicKey::GetAlgorithmID ( ) const
pure virtual

Retrieves the OID of the algorithm.

Returns
OID of the algorithm

Implemented in RSAFunction, InvertibleRSAFunction, and ed25519PublicKey.

◆ BERDecodeAlgorithmParameters()

virtual bool X509PublicKey::BERDecodeAlgorithmParameters ( BufferedTransformation bt)
inlinevirtual

Definition at line 409 of file asn.h.

◆ DEREncodeAlgorithmParameters()

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

Definition at line 411 of file asn.h.

◆ BERDecodePublicKey()

virtual void X509PublicKey::BERDecodePublicKey ( BufferedTransformation bt,
bool  parametersPresent,
size_t  size 
)
pure virtual

decode subjectPublicKey part of subjectPublicKeyInfo, without the BIT STRING header

Implemented in RSAFunction, ed25519PublicKey, and DL_PublicKey_GFP< GP >.

◆ DEREncodePublicKey()

virtual void X509PublicKey::DEREncodePublicKey ( BufferedTransformation bt) const
pure virtual

encode subjectPublicKey part of subjectPublicKeyInfo, without the BIT STRING header

Implemented in DL_PublicKey_GFP< GP >, RSAFunction, and ed25519PublicKey.


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