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 (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 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...
 

Protected Member Functions

ASPOSECPP_SHARED_API ~X509Certificate2 ()
 
- Protected Member Functions inherited from System::Security::Cryptography::X509Certificates::X509Certificate
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
 

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...
 
- Static Protected Member Functions inherited from System::Security::Cryptography::X509Certificates::X509Certificate
static String FormatDate (DateTime dt)
 
- Protected Attributes inherited from System::Security::Cryptography::X509Certificates::X509Certificate
const std::unique_ptr< Details::X509CertificateImpl > m_pimpl
 Certificate implementation. 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.

◆ ~X509Certificate2()

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

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 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() [2/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.

◆ Import() [3/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() [4/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() [5/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() [6/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.

◆ 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 ( 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.

◆ ToString() [2/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.

◆ Verify()

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

Verifies certificate chain.

Returns
True if the certificate is valid, false otherwise.