X.509 v.3 certificate. Encrypted certificates are not supported. Only X509KeyStorageFlags::DefaultKeySet flag is supported. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument. More...

Inherits System::Object, and System::IDisposable.

Inherited by System::Security::Cryptography::X509Certificates::X509Certificate2.

Public Types

typedef SharedPtr< X509CertificatePtr
 Pointer type. More...
 
- Public Types inherited from System::Object
typedef SmartPtr< Objectptr
 Alias for smart pointer type. More...
 

Public Member Functions

 X509Certificate (const X509Certificate &)=delete
 
X509Certificateoperator= (const X509Certificate &)=delete
 
ASPOSECPP_SHARED_API X509Certificate ()
 Constructor. More...
 
ASPOSECPP_SHARED_API X509Certificate (const ByteArrayPtr &data)
 Constructor. More...
 
ASPOSECPP_SHARED_API X509Certificate (const String &filename)
 Constructor. More...
 
ASPOSECPP_SHARED_API X509Certificate (const SharedPtr< X509Certificate > &cert)
 Constructor. More...
 
ASPOSECPP_SHARED_API X509Certificate (const ByteArrayPtr &raw_data, const String &password)
 Constructor. More...
 
ASPOSECPP_SHARED_API X509Certificate (const ByteArrayPtr &raw_data, const SecureStringPtr &password)
 Constructor. More...
 
ASPOSECPP_SHARED_API X509Certificate (const String &filename, const String &password)
 Constructor. More...
 
ASPOSECPP_SHARED_API X509Certificate (const String &filename, const SecureStringPtr &password)
 Constructor. More...
 
ASPOSECPP_SHARED_API X509Certificate (const ByteArrayPtr &raw_data, const String &password, X509KeyStorageFlags key_storage_flags)
 Constructor. More...
 
ASPOSECPP_SHARED_API X509Certificate (const ByteArrayPtr &raw_data, const SecureStringPtr &password, X509KeyStorageFlags key_storage_flags)
 Constructor. More...
 
ASPOSECPP_SHARED_API X509Certificate (const String &filename, const String &password, X509KeyStorageFlags key_storage_flags)
 Constructor. More...
 
ASPOSECPP_SHARED_API X509Certificate (const String &filename, const SecureStringPtr &password, X509KeyStorageFlags key_storage_flags)
 Constructor. More...
 
ASPOSECPP_SHARED_API X509Certificate (const ByteArrayPtr &raw_data, const ByteArrayPtr &private_key, X509KeyStorageFlags key_storage_flags)
 Constructor. More...
 
ASPOSECPP_SHARED_API void Dispose () override
 Does nothing. More...
 
ASPOSECPP_SHARED_API IntPtr get_Handle () const
 Gets a handle to Microsoft Cryptographic API certificate context. More...
 
ASPOSECPP_SHARED_API String get_Subject () const
 Gets subject distinguished name from certificate. More...
 
ASPOSECPP_SHARED_API String get_Issuer () const
 Gets name of the certificate authority that issued the X.509v3 certificate. More...
 
virtual ASPOSECPP_SHARED_API ByteArrayPtr GetCertHash () const
 Gets hash for the current object as an array of bytes. More...
 
virtual ASPOSECPP_SHARED_API ByteArrayPtr GetCertHash (const HashAlgorithmName &hash_algorithm) const
 Gets hash for the current object as an array of bytes. More...
 
virtual ASPOSECPP_SHARED_API String GetCertHashString () const
 Gets SHA1 hash for the current object as a hexadecimal string. More...
 
virtual ASPOSECPP_SHARED_API String GetCertHashString (const HashAlgorithmName &hash_algorithm) const
 Gets SHA1 hash for the current object as a hexadecimal string. More...
 
virtual ASPOSECPP_SHARED_API String GetEffectiveDateString () const
 Gets effective date of the current sertificate. More...
 
virtual ASPOSECPP_SHARED_API String GetExpirationDateString () const
 Gets expiration date of the current sertificate. More...
 
virtual ASPOSECPP_SHARED_API String GetFormat () const
 Gets name of the certificate format. More...
 
virtual ASPOSECPP_SHARED_API String GetIssuerName () const
 Gets name of the certification authority that issued the current certificate. More...
 
virtual ASPOSECPP_SHARED_API String GetKeyAlgorithm () const
 Gets key information for the current certificate as a string. More...
 
virtual ASPOSECPP_SHARED_API ByteArrayPtr GetKeyAlgorithmParameters () const
 Gets key information for the current certificate as an array of bytes. More...
 
virtual ASPOSECPP_SHARED_API String GetKeyAlgorithmParametersString () const
 Gets key information for the current certificate as a hexadecimal string. More...
 
virtual ASPOSECPP_SHARED_API String GetName () const
 Gets name of the principal to witch the current sertificate was issued. More...
 
virtual ASPOSECPP_SHARED_API ByteArrayPtr GetPublicKey () const
 Gets public key from certificate as array of bytes. More...
 
virtual ASPOSECPP_SHARED_API String GetPublicKeyString () const
 Gets public key from certificate as a hexadecimal string. More...
 
virtual ASPOSECPP_SHARED_API ByteArrayPtr GetRawCertData () const
 Gets raw data from certificate as array of bytes. More...
 
virtual ASPOSECPP_SHARED_API String GetRawCertDataString () const
 Gets raw data from certificate as a hexadecimal string. More...
 
virtual ASPOSECPP_SHARED_API ByteArrayPtr GetSerialNumber () const
 Gets serial number from certificate as array of bytes. More...
 
virtual ASPOSECPP_SHARED_API String GetSerialNumberString () const
 Gets serial number from certificate as a hexadecimal string. More...
 
virtual ASPOSECPP_SHARED_API ByteArrayPtr Export (X509ContentType content_type) const
 Exports the current object to a byte array using the specified format. NOT IMPLEMENTED. More...
 
virtual ASPOSECPP_SHARED_API ByteArrayPtr Export (X509ContentType content_type, const SecureStringPtr &password) const
 Exports the current object to a byte array using the specified format. NOT IMPLEMENTED. More...
 
virtual ASPOSECPP_SHARED_API ByteArrayPtr Export (X509ContentType content_type, const String &password) const
 Exports the current object to a byte array using the specified format. NOT IMPLEMENTED. More...
 
virtual ASPOSECPP_SHARED_API void Import (const String &filename, const SecureStringPtr &password, X509KeyStorageFlags key_storage_flags)
 Imports information from the specified certificate file. NOT IMPLEMENTED. More...
 
virtual ASPOSECPP_SHARED_API void Import (const String &filename, const String &password, X509KeyStorageFlags key_storage_flags)
 Imports information from the specified certificate file. NOT IMPLEMENTED. More...
 
virtual ASPOSECPP_SHARED_API void Import (const ByteArrayPtr &data, const SecureStringPtr &password, X509KeyStorageFlags key_storage_flags)
 Imports information from the specified certificate data. NOT IMPLEMENTED. More...
 
virtual ASPOSECPP_SHARED_API void Import (const ByteArrayPtr &data, const String &password, X509KeyStorageFlags key_storage_flags)
 Imports information from the specified certificate data. NOT IMPLEMENTED. More...
 
virtual ASPOSECPP_SHARED_API void Import (const String &filename)
 Imports information from the specified certificate file. NOT IMPLEMENTED. More...
 
virtual ASPOSECPP_SHARED_API void Import (const ByteArrayPtr &data)
 Imports information from the specified certificate data. NOT IMPLEMENTED. More...
 
virtual ASPOSECPP_SHARED_API void Reset ()
 Resets the certificate state. More...
 
ASPOSECPP_SHARED_API bool Equals (SharedPtr< Object > obj) override
 Compares two certificates. More...
 
virtual ASPOSECPP_SHARED_API String ToString (bool verbose) const
 Returns the certificate information in text format. More...
 
ASPOSECPP_SHARED_API String ToString () const override
 Returns the certificate information in text format. More...
 
ASPOSECPP_SHARED_API int32_t GetHashCode () const override
 Gets certificate hash code. More...
 
- Public Member Functions inherited from System::Object
ASPOSECPP_SHARED_API Object ()
 Creates object. Initializes all internal data structures. More...
 
virtual ASPOSECPP_SHARED_API ~Object ()
 Destroys object. Frees all internal data structures. More...
 
ASPOSECPP_SHARED_API Object (Object const &x)
 Copy constructor. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More...
 
Objectoperator= (Object const &x)
 Assignment operator. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More...
 
ObjectSharedRefAdded ()
 Increments shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
int SharedRefRemovedSafe ()
 Decrements and returns shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
int RemovedSharedRefs (int count)
 Decreases shared reference count by specified value. More...
 
Detail::SmartPtrCounter * WeakRefAdded ()
 Increments weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
void WeakRefRemoved ()
 Decrements weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
Detail::SmartPtrCounter * GetCounter ()
 Gets reference counter data structure associated with the object. More...
 
int SharedCount () const
 Gets current value of shared reference counter. More...
 
ASPOSECPP_SHARED_API void Lock ()
 Implements C# lock() statement locking. Call directly or use LockContext sentry object. More...
 
ASPOSECPP_SHARED_API void Unlock ()
 Implements C# lock() statement unlocking. Call directly or use LockContext sentry object. More...
 
virtual ASPOSECPP_SHARED_API bool Equals (ptr obj)
 Compares objects using C# Object.Equals semantics. More...
 
virtual ASPOSECPP_SHARED_API ptr MemberwiseClone () const
 Analog of C# Object.MemberwiseClone() method. Enables cloning custom types. More...
 
virtual ASPOSECPP_SHARED_API const TypeInfoGetType () const
 Gets actual type of object. Analog of C# System.Object.GetType() call. More...
 
virtual ASPOSECPP_SHARED_API bool Is (const TypeInfo &targetType) const
 Check if object represents an instance of type described by targetType. Analog of C# 'is' operator. More...
 
virtual ASPOSECPP_SHARED_API void SetTemplateWeakPtr (uint32_t argument)
 Set n'th template argument a weak pointer (rather than shared). Allows switching pointers in containers to weak mode. More...
 
virtual ASPOSECPP_SHARED_API bool FastCast (const Details::FastRttiBase &helper, void **out_ptr) const
 For internal purposes only. More...
 
template<>
bool Equals (float const &objA, float const &objB)
 Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN. More...
 
template<>
bool Equals (double const &objA, double const &objB)
 Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN. More...
 
template<>
bool ReferenceEquals (String const &str, std::nullptr_t)
 Specialization of Object::ReferenceEquals for case of string and nullptr. More...
 
template<>
bool ReferenceEquals (String const &str1, String const &str2)
 Specialization of Object::ReferenceEquals for case of strings. More...
 

Static Public Member Functions

static ASPOSECPP_SHARED_API SharedPtr< X509CertificateCreateFromCertFile (const String &filename)
 Creates sertificate from the specified PKCS7 file. More...
 
static ASPOSECPP_SHARED_API SharedPtr< X509CertificateCreateFromSignedFile (const String &filename)
 Creates sertificate from the specified signed file. More...
 
- Static Public Member Functions inherited from System::Object
static bool ReferenceEquals (ptr const &objA, ptr const &objB)
 Compares objects by reference. More...
 
template<typename T >
static std::enable_if<!IsSmartPtr< T >::value, bool >::type ReferenceEquals (T const &objA, T const &objB)
 Compares objects by reference. More...
 
template<typename T >
static std::enable_if<!IsSmartPtr< T >::value, bool >::type ReferenceEquals (T const &objA, std::nullptr_t)
 Reference-compares value type object with nullptr. More...
 
template<typename T1 , typename T2 >
static std::enable_if< IsSmartPtr< T1 >::value &&IsSmartPtr< T2 >::value, bool >::type Equals (T1 const &objA, T2 const &objB)
 Compares reference type objects in C# style. More...
 
template<typename T1 , typename T2 >
static std::enable_if<!IsSmartPtr< T1 >::value &&!IsSmartPtr< T2 >::value, bool >::type Equals (T1 const &objA, T2 const &objB)
 Compares value type objects in C# style. More...
 
static const TypeInfoType ()
 Implements C# typeof(System.Object) construct. More...
 

Protected Member Functions

ASPOSECPP_SHARED_API ~X509Certificate ()
 
void VerifyCertificateCreated () const
 
ByteArrayPtr GetRawCertHash () const
 
ByteArrayPtr GetRawKeyAlgorithmParameters () const
 
ByteArrayPtr GetRawPublicKey () const
 
ByteArrayPtr GetRawSerialNumber () const
 
DateTime GetNotBefore () const
 
DateTime GetNotAfter () const
 
SharedPtr< X500DistinguishedNameGetIssuerNameInternal () const
 
SharedPtr< X500DistinguishedNameGetSubjectNameInternal () const
 

Static Protected Member Functions

static String FormatDate (DateTime dt)
 

Protected Attributes

const std::unique_ptr< Details::X509CertificateImpl > m_pimpl
 Certificate implementation. More...
 

Detailed Description

X.509 v.3 certificate. Encrypted certificates are not supported. Only X509KeyStorageFlags::DefaultKeySet flag is supported. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.

Member Typedef Documentation

◆ Ptr

Constructor & Destructor Documentation

◆ X509Certificate() [1/14]

System::Security::Cryptography::X509Certificates::X509Certificate::X509Certificate ( const X509Certificate )
delete

◆ X509Certificate() [2/14]

ASPOSECPP_SHARED_API System::Security::Cryptography::X509Certificates::X509Certificate::X509Certificate ( )

Constructor.

◆ X509Certificate() [3/14]

ASPOSECPP_SHARED_API System::Security::Cryptography::X509Certificates::X509Certificate::X509Certificate ( const ByteArrayPtr data)

Constructor.

Parameters
dataSequence of bytes that represents encoded certificate.

◆ X509Certificate() [4/14]

ASPOSECPP_SHARED_API System::Security::Cryptography::X509Certificates::X509Certificate::X509Certificate ( const String filename)

Constructor.

Parameters
filenameFile to load certificate from.

◆ X509Certificate() [5/14]

ASPOSECPP_SHARED_API System::Security::Cryptography::X509Certificates::X509Certificate::X509Certificate ( const SharedPtr< X509Certificate > &  cert)

Constructor.

Parameters
certA certificate used to initialize this object.

◆ X509Certificate() [6/14]

ASPOSECPP_SHARED_API System::Security::Cryptography::X509Certificates::X509Certificate::X509Certificate ( const ByteArrayPtr raw_data,
const String password 
)

Constructor.

Parameters
raw_dataSequence of bytes that represents encoded certificate.
passwordPassword used to access the certificate data.

◆ X509Certificate() [7/14]

ASPOSECPP_SHARED_API System::Security::Cryptography::X509Certificates::X509Certificate::X509Certificate ( const ByteArrayPtr raw_data,
const SecureStringPtr password 
)

Constructor.

Parameters
raw_dataSequence of bytes that represents encoded certificate.
passwordPassword used to access the certificate data.

◆ X509Certificate() [8/14]

ASPOSECPP_SHARED_API System::Security::Cryptography::X509Certificates::X509Certificate::X509Certificate ( const String filename,
const String password 
)

Constructor.

Parameters
filenameFile to load certificate from.
passwordPassword used to access the certificate data.

◆ X509Certificate() [9/14]

ASPOSECPP_SHARED_API System::Security::Cryptography::X509Certificates::X509Certificate::X509Certificate ( const String filename,
const SecureStringPtr password 
)

Constructor.

Parameters
filenameFile to load certificate from.
passwordPassword used to access the certificate data.

◆ X509Certificate() [10/14]

ASPOSECPP_SHARED_API System::Security::Cryptography::X509Certificates::X509Certificate::X509Certificate ( const ByteArrayPtr raw_data,
const String password,
X509KeyStorageFlags  key_storage_flags 
)

Constructor.

Parameters
raw_dataSequence of bytes that represents encoded certificate.
passwordPassword used to access the certificate data.
key_storage_flagsFlags indicating how to store key.

◆ X509Certificate() [11/14]

ASPOSECPP_SHARED_API System::Security::Cryptography::X509Certificates::X509Certificate::X509Certificate ( const ByteArrayPtr raw_data,
const SecureStringPtr password,
X509KeyStorageFlags  key_storage_flags 
)

Constructor.

Parameters
raw_dataSequence of bytes that represents encoded certificate.
passwordPassword used to access the certificate data.
key_storage_flagsFlags indicating how to store key.

◆ X509Certificate() [12/14]

ASPOSECPP_SHARED_API System::Security::Cryptography::X509Certificates::X509Certificate::X509Certificate ( const String filename,
const String password,
X509KeyStorageFlags  key_storage_flags 
)

Constructor.

Parameters
filenameFile to load certificate from.
passwordPassword used to access the certificate data.
key_storage_flagsFlags indicating how to store key.

◆ X509Certificate() [13/14]

ASPOSECPP_SHARED_API System::Security::Cryptography::X509Certificates::X509Certificate::X509Certificate ( const String filename,
const SecureStringPtr password,
X509KeyStorageFlags  key_storage_flags 
)

Constructor.

Parameters
filenameFile to load certificate from.
passwordPassword used to access the certificate data.
key_storage_flagsFlags indicating how to store key.

◆ X509Certificate() [14/14]

ASPOSECPP_SHARED_API System::Security::Cryptography::X509Certificates::X509Certificate::X509Certificate ( const ByteArrayPtr raw_data,
const ByteArrayPtr private_key,
X509KeyStorageFlags  key_storage_flags 
)

Constructor.

Parameters
raw_dataSequence of bytes that represents encoded certificate (public part).
private_keySequence of bytes that represents private key.
key_storage_flagsFlags indicating how to store key.

◆ ~X509Certificate()

ASPOSECPP_SHARED_API System::Security::Cryptography::X509Certificates::X509Certificate::~X509Certificate ( )
protected

Member Function Documentation

◆ CreateFromCertFile()

static ASPOSECPP_SHARED_API SharedPtr<X509Certificate> System::Security::Cryptography::X509Certificates::X509Certificate::CreateFromCertFile ( const String filename)
static

Creates sertificate from the specified PKCS7 file.

Parameters
filenameCertificate file name.
Returns
The newly created certificate.

◆ CreateFromSignedFile()

static ASPOSECPP_SHARED_API SharedPtr<X509Certificate> System::Security::Cryptography::X509Certificates::X509Certificate::CreateFromSignedFile ( const String filename)
static

Creates sertificate from the specified signed file.

Parameters
filenameCertificate file name.
Returns
The newly created certificate.

◆ Dispose()

ASPOSECPP_SHARED_API void System::Security::Cryptography::X509Certificates::X509Certificate::Dispose ( )
overridevirtual

Does nothing.

Reimplemented from System::IDisposable.

◆ Equals()

ASPOSECPP_SHARED_API bool System::Security::Cryptography::X509Certificates::X509Certificate::Equals ( SharedPtr< Object obj)
override

Compares two certificates.

Parameters
objCertificate to compare with current object.
Returns
true if the current certificate is equal to the specified certificate.

◆ Export() [1/3]

virtual ASPOSECPP_SHARED_API ByteArrayPtr System::Security::Cryptography::X509Certificates::X509Certificate::Export ( X509ContentType  content_type) const
virtual

Exports the current object to a byte array using the specified format. NOT IMPLEMENTED.

Parameters
content_typeSpecifies how to format the output data.
Returns
An array of bytes that represents the current object.

◆ Export() [2/3]

virtual ASPOSECPP_SHARED_API ByteArrayPtr System::Security::Cryptography::X509Certificates::X509Certificate::Export ( X509ContentType  content_type,
const SecureStringPtr password 
) const
virtual

Exports the current object to a byte array using the specified format. NOT IMPLEMENTED.

Parameters
content_typeSpecifies how to format the output data.
passwordThe password required to access certificate data.
Returns
An array of bytes that represents the current object.

◆ Export() [3/3]

virtual ASPOSECPP_SHARED_API ByteArrayPtr System::Security::Cryptography::X509Certificates::X509Certificate::Export ( X509ContentType  content_type,
const String password 
) const
virtual

Exports the current object to a byte array using the specified format. NOT IMPLEMENTED.

Parameters
content_typeSpecifies how to format the output data.
passwordThe password required to access certificate data.
Returns
An array of bytes that represents the current object.

◆ FormatDate()

static String System::Security::Cryptography::X509Certificates::X509Certificate::FormatDate ( DateTime  dt)
staticprotected

◆ get_Handle()

ASPOSECPP_SHARED_API IntPtr System::Security::Cryptography::X509Certificates::X509Certificate::get_Handle ( ) const

Gets a handle to Microsoft Cryptographic API certificate context.

Returns
Always returns 0.

◆ get_Issuer()

ASPOSECPP_SHARED_API String System::Security::Cryptography::X509Certificates::X509Certificate::get_Issuer ( ) const

Gets name of the certificate authority that issued the X.509v3 certificate.

Returns
Issuer name.

◆ get_Subject()

ASPOSECPP_SHARED_API String System::Security::Cryptography::X509Certificates::X509Certificate::get_Subject ( ) const

Gets subject distinguished name from certificate.

Returns
Subject name of certificate.

◆ GetCertHash() [1/2]

virtual ASPOSECPP_SHARED_API ByteArrayPtr System::Security::Cryptography::X509Certificates::X509Certificate::GetCertHash ( ) const
virtual

Gets hash for the current object as an array of bytes.

Returns
The hash value.

◆ GetCertHash() [2/2]

virtual ASPOSECPP_SHARED_API ByteArrayPtr System::Security::Cryptography::X509Certificates::X509Certificate::GetCertHash ( const HashAlgorithmName hash_algorithm) const
virtual

Gets hash for the current object as an array of bytes.

Parameters
hash_algorithmHash algorithm name.
Returns
The hash value.

◆ GetCertHashString() [1/2]

virtual ASPOSECPP_SHARED_API String System::Security::Cryptography::X509Certificates::X509Certificate::GetCertHashString ( ) const
virtual

Gets SHA1 hash for the current object as a hexadecimal string.

Returns
The hexadecimal string.

◆ GetCertHashString() [2/2]

virtual ASPOSECPP_SHARED_API String System::Security::Cryptography::X509Certificates::X509Certificate::GetCertHashString ( const HashAlgorithmName hash_algorithm) const
virtual

Gets SHA1 hash for the current object as a hexadecimal string.

Parameters
hash_algorithmHash algorithm name.
Returns
The hexadecimal string.

◆ GetEffectiveDateString()

virtual ASPOSECPP_SHARED_API String System::Security::Cryptography::X509Certificates::X509Certificate::GetEffectiveDateString ( ) const
virtual

Gets effective date of the current sertificate.

Returns
The effective date of the current certificate.

◆ GetExpirationDateString()

virtual ASPOSECPP_SHARED_API String System::Security::Cryptography::X509Certificates::X509Certificate::GetExpirationDateString ( ) const
virtual

Gets expiration date of the current sertificate.

Returns
The expiration date of the current certificate.

◆ GetFormat()

virtual ASPOSECPP_SHARED_API String System::Security::Cryptography::X509Certificates::X509Certificate::GetFormat ( ) const
virtual

Gets name of the certificate format.

Returns
The format name.

◆ GetHashCode()

ASPOSECPP_SHARED_API int32_t System::Security::Cryptography::X509Certificates::X509Certificate::GetHashCode ( ) const
overridevirtual

Gets certificate hash code.

Returns
Hash code as a integer.

Reimplemented from System::Object.

◆ GetIssuerName()

virtual ASPOSECPP_SHARED_API String System::Security::Cryptography::X509Certificates::X509Certificate::GetIssuerName ( ) const
virtual

Gets name of the certification authority that issued the current certificate.

Returns
The name of the certification authority.

◆ GetIssuerNameInternal()

SharedPtr<X500DistinguishedName> System::Security::Cryptography::X509Certificates::X509Certificate::GetIssuerNameInternal ( ) const
protected

◆ GetKeyAlgorithm()

virtual ASPOSECPP_SHARED_API String System::Security::Cryptography::X509Certificates::X509Certificate::GetKeyAlgorithm ( ) const
virtual

Gets key information for the current certificate as a string.

Returns
The key information.

◆ GetKeyAlgorithmParameters()

virtual ASPOSECPP_SHARED_API ByteArrayPtr System::Security::Cryptography::X509Certificates::X509Certificate::GetKeyAlgorithmParameters ( ) const
virtual

Gets key information for the current certificate as an array of bytes.

Returns
The key information.

◆ GetKeyAlgorithmParametersString()

virtual ASPOSECPP_SHARED_API String System::Security::Cryptography::X509Certificates::X509Certificate::GetKeyAlgorithmParametersString ( ) const
virtual

Gets key information for the current certificate as a hexadecimal string.

Returns
The key information.

◆ GetName()

virtual ASPOSECPP_SHARED_API String System::Security::Cryptography::X509Certificates::X509Certificate::GetName ( ) const
virtual

Gets name of the principal to witch the current sertificate was issued.

Returns
The name of the principal.

◆ GetNotAfter()

DateTime System::Security::Cryptography::X509Certificates::X509Certificate::GetNotAfter ( ) const
protected

◆ GetNotBefore()

DateTime System::Security::Cryptography::X509Certificates::X509Certificate::GetNotBefore ( ) const
protected

◆ GetPublicKey()

virtual ASPOSECPP_SHARED_API ByteArrayPtr System::Security::Cryptography::X509Certificates::X509Certificate::GetPublicKey ( ) const
virtual

Gets public key from certificate as array of bytes.

Returns
Byte representation of public key.

◆ GetPublicKeyString()

virtual ASPOSECPP_SHARED_API String System::Security::Cryptography::X509Certificates::X509Certificate::GetPublicKeyString ( ) const
virtual

Gets public key from certificate as a hexadecimal string.

Returns
The public key as a hexadecimal string.

◆ GetRawCertData()

virtual ASPOSECPP_SHARED_API ByteArrayPtr System::Security::Cryptography::X509Certificates::X509Certificate::GetRawCertData ( ) const
virtual

Gets raw data from certificate as array of bytes.

Returns
Byte representation of certificate data.

◆ GetRawCertDataString()

virtual ASPOSECPP_SHARED_API String System::Security::Cryptography::X509Certificates::X509Certificate::GetRawCertDataString ( ) const
virtual

Gets raw data from certificate as a hexadecimal string.

Returns
The certificate data as a hexadecimal string.

◆ GetRawCertHash()

ByteArrayPtr System::Security::Cryptography::X509Certificates::X509Certificate::GetRawCertHash ( ) const
protected

◆ GetRawKeyAlgorithmParameters()

ByteArrayPtr System::Security::Cryptography::X509Certificates::X509Certificate::GetRawKeyAlgorithmParameters ( ) const
protected

◆ GetRawPublicKey()

ByteArrayPtr System::Security::Cryptography::X509Certificates::X509Certificate::GetRawPublicKey ( ) const
protected

◆ GetRawSerialNumber()

ByteArrayPtr System::Security::Cryptography::X509Certificates::X509Certificate::GetRawSerialNumber ( ) const
protected

◆ GetSerialNumber()

virtual ASPOSECPP_SHARED_API ByteArrayPtr System::Security::Cryptography::X509Certificates::X509Certificate::GetSerialNumber ( ) const
virtual

Gets serial number from certificate as array of bytes.

Returns
Byte representation of certificate serial number.

◆ GetSerialNumberString()

virtual ASPOSECPP_SHARED_API String System::Security::Cryptography::X509Certificates::X509Certificate::GetSerialNumberString ( ) const
virtual

Gets serial number from certificate as a hexadecimal string.

Returns
The certificate serial number a hexadecimal string.

◆ GetSubjectNameInternal()

SharedPtr<X500DistinguishedName> System::Security::Cryptography::X509Certificates::X509Certificate::GetSubjectNameInternal ( ) const
protected

◆ Import() [1/6]

virtual ASPOSECPP_SHARED_API void System::Security::Cryptography::X509Certificates::X509Certificate::Import ( const String filename,
const SecureStringPtr password,
X509KeyStorageFlags  key_storage_flags 
)
virtual

Imports information from the specified certificate file. NOT IMPLEMENTED.

Parameters
filenameThe certificate file name.
passwordThe password required to access the certificate data.
key_storage_flags

Reimplemented in System::Security::Cryptography::X509Certificates::X509Certificate2.

◆ Import() [2/6]

virtual ASPOSECPP_SHARED_API void System::Security::Cryptography::X509Certificates::X509Certificate::Import ( const String filename,
const String password,
X509KeyStorageFlags  key_storage_flags 
)
virtual

Imports information from the specified certificate file. NOT IMPLEMENTED.

Parameters
filenameThe certificate file name.
passwordThe password required to access the certificate data.
key_storage_flags

Reimplemented in System::Security::Cryptography::X509Certificates::X509Certificate2.

◆ Import() [3/6]

virtual ASPOSECPP_SHARED_API void System::Security::Cryptography::X509Certificates::X509Certificate::Import ( const ByteArrayPtr data,
const SecureStringPtr password,
X509KeyStorageFlags  key_storage_flags 
)
virtual

Imports information from the specified certificate data. NOT IMPLEMENTED.

Parameters
dataThe X.509 certificate data.
passwordThe password required to access the certificate data.
key_storage_flags

Reimplemented in System::Security::Cryptography::X509Certificates::X509Certificate2.

◆ Import() [4/6]

virtual ASPOSECPP_SHARED_API void System::Security::Cryptography::X509Certificates::X509Certificate::Import ( const ByteArrayPtr data,
const String password,
X509KeyStorageFlags  key_storage_flags 
)
virtual

Imports information from the specified certificate data. NOT IMPLEMENTED.

Parameters
dataThe certificate file name.
passwordThe password required to access the certificate data.
key_storage_flags

Reimplemented in System::Security::Cryptography::X509Certificates::X509Certificate2.

◆ Import() [5/6]

virtual ASPOSECPP_SHARED_API void System::Security::Cryptography::X509Certificates::X509Certificate::Import ( const String filename)
virtual

Imports information from the specified certificate file. NOT IMPLEMENTED.

Parameters
filenameThe certificate file name.

Reimplemented in System::Security::Cryptography::X509Certificates::X509Certificate2.

◆ Import() [6/6]

virtual ASPOSECPP_SHARED_API void System::Security::Cryptography::X509Certificates::X509Certificate::Import ( const ByteArrayPtr data)
virtual

Imports information from the specified certificate data. NOT IMPLEMENTED.

Parameters
dataThe certificate file name.

Reimplemented in System::Security::Cryptography::X509Certificates::X509Certificate2.

◆ operator=()

X509Certificate& System::Security::Cryptography::X509Certificates::X509Certificate::operator= ( const X509Certificate )
delete

◆ Reset()

virtual ASPOSECPP_SHARED_API void System::Security::Cryptography::X509Certificates::X509Certificate::Reset ( )
virtual

Resets the certificate state.

Reimplemented in System::Security::Cryptography::X509Certificates::X509Certificate2.

◆ ToString() [1/2]

virtual ASPOSECPP_SHARED_API String System::Security::Cryptography::X509Certificates::X509Certificate::ToString ( bool  verbose) const
virtual

Returns the certificate information in text format.

Parameters
verbosetrue to display additional certificate information.
Returns
The certificate information.

Reimplemented in System::Security::Cryptography::X509Certificates::X509Certificate2.

◆ ToString() [2/2]

ASPOSECPP_SHARED_API String System::Security::Cryptography::X509Certificates::X509Certificate::ToString ( ) const
overridevirtual

Returns the certificate information in text format.

Returns
The certificate information.

Reimplemented from System::Object.

Reimplemented in System::Security::Cryptography::X509Certificates::X509Certificate2.

◆ VerifyCertificateCreated()

void System::Security::Cryptography::X509Certificates::X509Certificate::VerifyCertificateCreated ( ) const
protected

Member Data Documentation

◆ m_pimpl

const std::unique_ptr<Details::X509CertificateImpl> System::Security::Cryptography::X509Certificates::X509Certificate::m_pimpl
protected

Certificate implementation.