Crypto++ 8.2 Free C++ class library of cryptographic schemes

Public Member Functions | List of all members
X509PublicKey Class Referenceabstract

Encodes and decodes subjectPublicKeyInfo. More...

Inheritance diagram for X509PublicKey:

## Public Member Functions
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)
| Decode algorithm parameters. More...
virtual bool | DEREncodeAlgorithmParameters (BufferedTransformation &bt) const
| Encode algorithm parameters. More...
virtual void | BERDecodePublicKey (BufferedTransformation &bt, bool parametersPresent, size_t size)=0
| Decode subjectPublicKey part of subjectPublicKeyInfo. More...
virtual void | DEREncodePublicKey (BufferedTransformation &bt) const =0
| Encode subjectPublicKey part of subjectPublicKeyInfo. More...
Public Member Functions inherited from ASN1CryptoMaterial< PublicKey >
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 void | BEREncode (BufferedTransformation &bt) const
| Encode this object into a BufferedTransformation. More...
Public Member Functions inherited from 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
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...
CRYPTOPP_DLL bool | GetWord64Value (const char *name, word64 &value) const
| Get a named value with type word64. More...
CRYPTOPP_DLL word64 | GetWord64ValueWithDefault (const char *name, word64 defaultValue) const
| Get a named value with type word64, 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...

## 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 decodes subjectPublicKeyInfo.

Definition at line 701 of file asn.h.

## Member Function Documentation

## ◆ BERDecode()

void X509PublicKey::BERDecode | ( | BufferedTransformation & | bt | ) |
| virtual

Decode this object from a BufferedTransformation.

Parameters

  bt | BufferedTransformation object

Uses Basic Encoding Rules (BER)

Implements ASN1Object.

Reimplemented in ed25519PublicKey, and InvertibleRSAFunction.

Definition at line 635 of file asn.cpp.

## ◆ DEREncode()

void X509PublicKey::DEREncode | ( | BufferedTransformation & | bt | ) | const
| virtual

Encode this object into a BufferedTransformation.

Parameters

  bt | BufferedTransformation object

Uses Distinguished Encoding Rules (DER)

Implements ASN1Object.

Reimplemented in ed25519PublicKey, and InvertibleRSAFunction.

Definition at line 650 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 ed25519PublicKey, InvertibleRSAFunction, and RSAFunction.

## ◆ BERDecodeAlgorithmParameters()

virtual bool X509PublicKey::BERDecodeAlgorithmParameters | ( | BufferedTransformation & | bt | ) |
| inline virtual

Decode algorithm parameters.

Parameters

  bt | BufferedTransformation object

See also
  BERDecodePublicKey, RFC 2459, section 7.3.1

Definition at line 717 of file asn.h.

## ◆ DEREncodeAlgorithmParameters()

virtual bool X509PublicKey::DEREncodeAlgorithmParameters | ( | BufferedTransformation & | bt | ) | const
| inline virtual

Encode algorithm parameters.

Parameters

  bt | BufferedTransformation object

See also
  DEREncodePublicKey, RFC 2459, section 7.3.1

Definition at line 724 of file asn.h.

## ◆ BERDecodePublicKey()

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

Decode subjectPublicKey part of subjectPublicKeyInfo.

Parameters

  bt | BufferedTransformation object
  parametersPresent | flag indicating if algorithm parameters are present
  size | number of octets to read for the parameters, in bytes

BERDecodePublicKey() the decodes subjectPublicKey part of subjectPublicKeyInfo, without the BIT STRING header.

When `parametersPresent = true` then BERDecodePublicKey() calls BERDecodeAlgorithmParameters() to parse algorithm parameters.

See also
  BERDecodeAlgorithmParameters

Implemented in ed25519PublicKey, DL_PublicKey_GFP< GP >, DL_PublicKey_ECGDSA< EC >, DL_PublicKey_EC< EC >, and RSAFunction.

## ◆ DEREncodePublicKey()

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

Encode subjectPublicKey part of subjectPublicKeyInfo.

Parameters

  bt | BufferedTransformation object

DEREncodePublicKey() encodes the subjectPublicKey part of subjectPublicKeyInfo, without the BIT STRING header.

See also
  DEREncodeAlgorithmParameters

Implemented in ed25519PublicKey, DL_PublicKey_GFP< GP >, DL_PublicKey_ECGDSA< EC >, DL_PublicKey_EC< EC >, and RSAFunction.

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

- asn.h
- asn.cpp