Asposecpplib
System::Security::Cryptography::X509Certificates::X509Certificate2 Class Reference

Represents X509 certificate. 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::Security::Cryptography::X509Certificates::X509Certificate.

Public Member Functions

ASPOSECPP_SHARED_API X509Certificate2 ()
 Constructs empty X509Certificate2. More...
 
ASPOSECPP_SHARED_API X509Certificate2 (const String &filename)
 Constructor. More...
 
ASPOSECPP_SHARED_API X509Certificate2 (const SharedPtr< X509Certificate > &cert)
 Constructor. More...
 
ASPOSECPP_SHARED_API X509Certificate2 (const ByteArrayPtr &raw_data)
 Constructor. More...
 
ASPOSECPP_SHARED_API X509Certificate2 (const ByteArrayPtr &raw_data, const String &password)
 Constructor. More...
 
ASPOSECPP_SHARED_API X509Certificate2 (const ByteArrayPtr &raw_data, const SecureStringPtr &password)
 Constructor. More...
 
ASPOSECPP_SHARED_API X509Certificate2 (const ByteArrayPtr &raw_data, const String &password, X509KeyStorageFlags key_storage_flags)
 Constructor. More...
 
ASPOSECPP_SHARED_API X509Certificate2 (const ByteArrayPtr &raw_data, const SecureStringPtr &password, X509KeyStorageFlags key_storage_flags)
 Constructor. More...
 
ASPOSECPP_SHARED_API X509Certificate2 (const String &filename, const String &password)
 Constructor. More...
 
ASPOSECPP_SHARED_API X509Certificate2 (const String &filename, const SecureStringPtr &password)
 Constructor. More...
 
ASPOSECPP_SHARED_API X509Certificate2 (const String &filename, const String &password, X509KeyStorageFlags key_storage_flags)
 Constructor. More...
 
ASPOSECPP_SHARED_API X509Certificate2 (const String &filename, const SecureStringPtr &password, X509KeyStorageFlags key_storage_flags)
 Constructor. More...
 
ASPOSECPP_SHARED_API X509Certificate2 (const ByteArrayPtr &raw_data, const ByteArrayPtr &private_key, X509KeyStorageFlags key_storage_flags)
 Constructor. More...
 
ASPOSECPP_SHARED_API SharedPtr< Oidget_SignatureAlgorithm () const
 Gets algorithm used to create signature of a certificate. More...
 
ASPOSECPP_SHARED_API SharedPtr< PublicKeyget_PublicKey () const
 Gets a sertificate PublicKey object. More...
 
ASPOSECPP_SHARED_API bool get_HasPrivateKey () const
 Checks whether the certificate has private key. More...
 
ASPOSECPP_SHARED_API SharedPtr< AsymmetricAlgorithmget_PrivateKey () const
 Gets private key associated with certificate. More...
 
ASPOSECPP_SHARED_API void set_PrivateKey (const SharedPtr< AsymmetricAlgorithm > &value)
 Sets or clears private key associated with certificate. More...
 
ASPOSECPP_SHARED_API X509ExtensionCollectionPtr get_Extensions () const
 Gets collection of extension objects associated with certificate. More...
 
ASPOSECPP_SHARED_API ByteArrayPtr get_RawData () const
 Gets certificate raw data. More...
 
ASPOSECPP_SHARED_API SharedPtr< X500DistinguishedNameget_IssuerName () const
 Gets the name of party that issued a certificate. More...
 
ASPOSECPP_SHARED_API SharedPtr< X500DistinguishedNameget_SubjectName () const
 Gets the subject name from a certificate. More...
 
ASPOSECPP_SHARED_API String get_SerialNumber () const
 Gets the serial number of a certificate. More...
 
ASPOSECPP_SHARED_API DateTime get_NotBefore () const
 Gets the local date and time on which a certificate becomes valid. More...
 
ASPOSECPP_SHARED_API DateTime get_NotAfter () const
 Gets the local date and time after which a certificate is no longer valid. More...
 
ASPOSECPP_SHARED_API String get_FriendlyName () const
 Gets the certificate's friendly name. More...
 
ASPOSECPP_SHARED_API void set_FriendlyName (const String &value)
 Sets the certificate's friendly name. More...
 
ASPOSECPP_SHARED_API bool get_Archived () const
 Gets a value indicating that certificate is archived. More...
 
ASPOSECPP_SHARED_API void set_Archived (bool value) const
 Sets a value indicating that certificate is archived. More...
 
ASPOSECPP_SHARED_API int32_t get_Version () const
 Gets certificate format version. More...
 
ASPOSECPP_SHARED_API String get_Thumbprint () const
 Gets the certificate thumbprint. More...
 
ASPOSECPP_SHARED_API String GetNameInfo (X509NameType name_type, bool for_issuer) const
 Gets subject or issuer name from certificate. More...
 
ASPOSECPP_SHARED_API bool Verify () const
 Verifies certificate chain. More...
 
ASPOSECPP_SHARED_API void Reset () override
 Resets the certificate state. More...
 
ASPOSECPP_SHARED_API String ToString (bool verbose) const override
 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 void Import (const String &filename, const SecureStringPtr &password, X509KeyStorageFlags key_storage_flags) override
 Imports information from the specified certificate file. More...
 
ASPOSECPP_SHARED_API void Import (const String &filename, const String &password, X509KeyStorageFlags key_storage_flags) override
 Imports information from the specified certificate file. More...
 
ASPOSECPP_SHARED_API void Import (const ByteArrayPtr &data, const SecureStringPtr &password, X509KeyStorageFlags key_storage_flags) override
 Imports information from the specified certificate data. More...
 
ASPOSECPP_SHARED_API void Import (const ByteArrayPtr &data, const String &password, X509KeyStorageFlags key_storage_flags) override
 Imports information from the specified certificate data. More...
 
ASPOSECPP_SHARED_API void Import (const String &filename) override
 Imports information from the specified certificate file. More...
 
ASPOSECPP_SHARED_API void Import (const ByteArrayPtr &data) override
 Imports information from the specified certificate data. More...
 
ASPOSECPP_SHARED_API SharedPtr< RSAGetRSAPublicKey () const
 Gets RSA public key. More...
 
ASPOSECPP_SHARED_API SharedPtr< RSAGetRSAPrivateKey () const
 Gets RSA private key;. More...
 
ASPOSECPP_SHARED_API SharedPtr< DSAGetDSAPublicKey () const
 Gets RSA public key. More...
 
ASPOSECPP_SHARED_API SharedPtr< DSAGetDSAPrivateKey () const
 Gets RSA private key;. More...
 
ASPOSECPP_SHARED_API SharedPtr< ECDsaGetECDsaPublicKey () const
 Gets RSA public key. More...
 
ASPOSECPP_SHARED_API SharedPtr< ECDsaGetECDsaPrivateKey () const
 Gets RSA private key;. More...
 
- Public Member Functions inherited from System::Security::Cryptography::X509Certificates::X509Certificate
 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...
 
ASPOSECPP_SHARED_API bool Equals (SharedPtr< Object > obj) override
 Compares two certificates. 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 (unsigned int 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 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 X509ContentType GetCertContentType (const ByteArrayPtr &raw_data)
 Gets the type of certificate contained in the specified byte array. More...
 
static ASPOSECPP_SHARED_API X509ContentType GetCertContentType (const String &filename)
 Gets the type of certificate contained in the specified file. More...
 
- Static Public Member Functions inherited from System::Security::Cryptography::X509Certificates::X509Certificate
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...
 
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...
 

Additional Inherited Members

- Public Types inherited from System::Security::Cryptography::X509Certificates::X509Certificate
typedef SharedPtr< X509CertificatePtr
 Pointer type. More...
 
- Public Types inherited from System::Object
typedef SmartPtr< Objectptr
 Alias for smart pointer type. More...
 
typedef System::Details::SharedMembersType shared_members_type
 structure to keep list of shared pointers contained in object. More...
 

Detailed Description

Represents X509 certificate. 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.

Constructor & Destructor Documentation

◆ X509Certificate2() [1/13]

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

Constructs empty X509Certificate2.

◆ X509Certificate2() [2/13]

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

Constructor.

Parameters
filenameFile to load certificate from.

◆ X509Certificate2() [3/13]

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

Constructor.

Parameters
certAn X509Certificate object.

◆ X509Certificate2() [4/13]

ASPOSECPP_SHARED_API System::Security::Cryptography::X509Certificates::X509Certificate2::X509Certificate2 ( const ByteArrayPtr raw_data)

Constructor.

Parameters
raw_dataSequence of bytes that represents encoded certificate.

◆ X509Certificate2() [5/13]

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

Constructor.

Parameters
raw_dataSequence of bytes that represents encoded certificate.
passwordCertificate password.

◆ X509Certificate2() [6/13]

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

Constructor.

Parameters
raw_dataSequence of bytes that represents encoded certificate.
passwordCertificate password.

◆ X509Certificate2() [7/13]

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

Constructor.

Parameters
raw_dataSequence of bytes that represents encoded certificate.
passwordCertificate password.
key_storage_flagsFlags indicating how to store key.

◆ X509Certificate2() [8/13]

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

Constructor.

Parameters
raw_dataSequence of bytes that represents encoded certificate.
passwordCertificate password.
key_storage_flagsFlags indicating how to store key.

◆ X509Certificate2() [9/13]

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

Constructor.

Parameters
filenameFile to load certificate from.
passwordCertificate password.

◆ X509Certificate2() [10/13]

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

Constructor.

Parameters
filenameFile to load certificate from.
passwordCertificate password.

◆ X509Certificate2() [11/13]

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

Constructor.

Parameters
filenameFile to load certificate from.
passwordCertificate password.
key_storage_flagsFlags indicating how to store key.

◆ X509Certificate2() [12/13]

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

Constructor.

Parameters
filenameFile to load certificate from.
passwordCertificate password.
key_storage_flagsFlags indicating how to store key.

◆ X509Certificate2() [13/13]

ASPOSECPP_SHARED_API System::Security::Cryptography::X509Certificates::X509Certificate2::X509Certificate2 ( 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.

Member Function Documentation

◆ get_Archived()

ASPOSECPP_SHARED_API bool System::Security::Cryptography::X509Certificates::X509Certificate2::get_Archived ( ) const

Gets a value indicating that certificate is archived.

Returns
true if the certificate is archived, otherwise - false.

◆ get_Extensions()

ASPOSECPP_SHARED_API X509ExtensionCollectionPtr System::Security::Cryptography::X509Certificates::X509Certificate2::get_Extensions ( ) const

Gets collection of extension objects associated with certificate.

Returns
Collection of extensions.

◆ get_FriendlyName()

ASPOSECPP_SHARED_API String System::Security::Cryptography::X509Certificates::X509Certificate2::get_FriendlyName ( ) const

Gets the certificate's friendly name.

Returns
The certificate's friendly name.

◆ get_HasPrivateKey()

ASPOSECPP_SHARED_API bool System::Security::Cryptography::X509Certificates::X509Certificate2::get_HasPrivateKey ( ) const

Checks whether the certificate has private key.

Returns
True if private key existst, false otherwise.

◆ get_IssuerName()

ASPOSECPP_SHARED_API SharedPtr<X500DistinguishedName> System::Security::Cryptography::X509Certificates::X509Certificate2::get_IssuerName ( ) const

Gets the name of party that issued a certificate.

Returns
Issuer name object.

◆ get_NotAfter()

ASPOSECPP_SHARED_API DateTime System::Security::Cryptography::X509Certificates::X509Certificate2::get_NotAfter ( ) const

Gets the local date and time after which a certificate is no longer valid.

Returns
Date and time.

◆ get_NotBefore()

ASPOSECPP_SHARED_API DateTime System::Security::Cryptography::X509Certificates::X509Certificate2::get_NotBefore ( ) const

Gets the local date and time on which a certificate becomes valid.

Returns
Date and time.

◆ get_PrivateKey()

ASPOSECPP_SHARED_API SharedPtr<AsymmetricAlgorithm> System::Security::Cryptography::X509Certificates::X509Certificate2::get_PrivateKey ( ) const

Gets private key associated with certificate.

Returns
Private key object (or nullptr if unset).

◆ get_PublicKey()

ASPOSECPP_SHARED_API SharedPtr<PublicKey> System::Security::Cryptography::X509Certificates::X509Certificate2::get_PublicKey ( ) const

Gets a sertificate PublicKey object.

Returns
A PublicKey object.

◆ get_RawData()

ASPOSECPP_SHARED_API ByteArrayPtr System::Security::Cryptography::X509Certificates::X509Certificate2::get_RawData ( ) const

Gets certificate raw data.

Returns
Raw byte data of the certificate.

◆ get_SerialNumber()

ASPOSECPP_SHARED_API String System::Security::Cryptography::X509Certificates::X509Certificate2::get_SerialNumber ( ) const

Gets the serial number of a certificate.

Returns
Serial number.

◆ get_SignatureAlgorithm()

ASPOSECPP_SHARED_API SharedPtr<Oid> System::Security::Cryptography::X509Certificates::X509Certificate2::get_SignatureAlgorithm ( ) const

Gets algorithm used to create signature of a certificate.

Returns
Algorithm identifier.

◆ get_SubjectName()

ASPOSECPP_SHARED_API SharedPtr<X500DistinguishedName> System::Security::Cryptography::X509Certificates::X509Certificate2::get_SubjectName ( ) const

Gets the subject name from a certificate.

Returns
Subject name object.

◆ get_Thumbprint()

ASPOSECPP_SHARED_API String System::Security::Cryptography::X509Certificates::X509Certificate2::get_Thumbprint ( ) const

Gets the certificate thumbprint.

Returns
The certificate thumbprint.

◆ get_Version()

ASPOSECPP_SHARED_API int32_t System::Security::Cryptography::X509Certificates::X509Certificate2::get_Version ( ) const

Gets certificate format version.

Returns
Certificate version.

◆ GetCertContentType() [1/2]

static ASPOSECPP_SHARED_API X509ContentType System::Security::Cryptography::X509Certificates::X509Certificate2::GetCertContentType ( const ByteArrayPtr raw_data)
static

Gets the type of certificate contained in the specified byte array.

Parameters
raw_dataCertificate data.
Returns
Type of X.509 certificate.

◆ GetCertContentType() [2/2]

static ASPOSECPP_SHARED_API X509ContentType System::Security::Cryptography::X509Certificates::X509Certificate2::GetCertContentType ( const String filename)
static

Gets the type of certificate contained in the specified file.

Parameters
filenameCertificate file name.
Returns
Type of X.509 certificate.

◆ GetDSAPrivateKey()

ASPOSECPP_SHARED_API SharedPtr<DSA> System::Security::Cryptography::X509Certificates::X509Certificate2::GetDSAPrivateKey ( ) const

Gets RSA private key;.

◆ GetDSAPublicKey()

ASPOSECPP_SHARED_API SharedPtr<DSA> System::Security::Cryptography::X509Certificates::X509Certificate2::GetDSAPublicKey ( ) const

Gets RSA public key.

◆ GetECDsaPrivateKey()

ASPOSECPP_SHARED_API SharedPtr<ECDsa> System::Security::Cryptography::X509Certificates::X509Certificate2::GetECDsaPrivateKey ( ) const

Gets RSA private key;.

◆ GetECDsaPublicKey()

ASPOSECPP_SHARED_API SharedPtr<ECDsa> System::Security::Cryptography::X509Certificates::X509Certificate2::GetECDsaPublicKey ( ) const

Gets RSA public key.

◆ GetNameInfo()

ASPOSECPP_SHARED_API String System::Security::Cryptography::X509Certificates::X509Certificate2::GetNameInfo ( X509NameType  name_type,
bool  for_issuer 
) const

Gets subject or issuer name from certificate.

Parameters
name_typeName formatting options.
for_issuerIf true, returns issuer name, else returns subject name.
Returns
Formatted issuer or subject name.

◆ GetRSAPrivateKey()

ASPOSECPP_SHARED_API SharedPtr<RSA> System::Security::Cryptography::X509Certificates::X509Certificate2::GetRSAPrivateKey ( ) const

Gets RSA private key;.

◆ GetRSAPublicKey()

ASPOSECPP_SHARED_API SharedPtr<RSA> System::Security::Cryptography::X509Certificates::X509Certificate2::GetRSAPublicKey ( ) const

Gets RSA public key.

◆ Import() [1/6]

ASPOSECPP_SHARED_API void System::Security::Cryptography::X509Certificates::X509Certificate2::Import ( const ByteArrayPtr data)
overridevirtual

Imports information from the specified certificate data.

Parameters
dataThe certificate file name.

Reimplemented from System::Security::Cryptography::X509Certificates::X509Certificate.

◆ Import() [2/6]

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

Imports information from the specified certificate data.

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

Reimplemented from System::Security::Cryptography::X509Certificates::X509Certificate.

◆ Import() [3/6]

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

Imports information from the specified certificate data.

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

Reimplemented from System::Security::Cryptography::X509Certificates::X509Certificate.

◆ Import() [4/6]

ASPOSECPP_SHARED_API void System::Security::Cryptography::X509Certificates::X509Certificate2::Import ( const String filename)
overridevirtual

Imports information from the specified certificate file.

Parameters
filenameThe certificate file name.

Reimplemented from System::Security::Cryptography::X509Certificates::X509Certificate.

◆ Import() [5/6]

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

Imports information from the specified certificate file.

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

Reimplemented from System::Security::Cryptography::X509Certificates::X509Certificate.

◆ Import() [6/6]

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

Imports information from the specified certificate file.

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

Reimplemented from System::Security::Cryptography::X509Certificates::X509Certificate.

◆ Reset()

ASPOSECPP_SHARED_API void System::Security::Cryptography::X509Certificates::X509Certificate2::Reset ( )
overridevirtual

Resets the certificate state.

Reimplemented from System::Security::Cryptography::X509Certificates::X509Certificate.

◆ set_Archived()

ASPOSECPP_SHARED_API void System::Security::Cryptography::X509Certificates::X509Certificate2::set_Archived ( bool  value) const

Sets a value indicating that certificate is archived.

Parameters
valuetrue if the certificate is archived, otherwise - false.

◆ set_FriendlyName()

ASPOSECPP_SHARED_API void System::Security::Cryptography::X509Certificates::X509Certificate2::set_FriendlyName ( const String value)

Sets the certificate's friendly name.

Parameters
valueThe certificate's friendly name.

◆ set_PrivateKey()

ASPOSECPP_SHARED_API void System::Security::Cryptography::X509Certificates::X509Certificate2::set_PrivateKey ( const SharedPtr< AsymmetricAlgorithm > &  value)

Sets or clears private key associated with certificate.

Parameters
valuePrivate key object (or nullptr to unset).

◆ ToString() [1/2]

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

Returns the certificate information in text format.

Returns
The certificate information.

Reimplemented from System::Security::Cryptography::X509Certificates::X509Certificate.

◆ ToString() [2/2]

ASPOSECPP_SHARED_API String System::Security::Cryptography::X509Certificates::X509Certificate2::ToString ( bool  verbose) const
overridevirtual

Returns the certificate information in text format.

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

Reimplemented from System::Security::Cryptography::X509Certificates::X509Certificate.

◆ Verify()

ASPOSECPP_SHARED_API bool System::Security::Cryptography::X509Certificates::X509Certificate2::Verify ( ) const

Verifies certificate chain.

Returns
True if the certificate is valid, false otherwise.