X509ChainElement::Information Property
Gets additional error information from an unmanaged certificate chain structure.
Assembly: System (in System.dll)
Property Value
Type: System::String^A string representing the pwszExtendedErrorInfo member of the unmanaged CERT_CHAIN_ELEMENT structure in the Crypto API.
This string is available only on computers with Windows XP Professional or later operating systems. An empty string ("") is returned if the operating system is not Windows XP Professional or later.
The following code example opens the current user's personal certificate store, allows the user to select a certificate, then writes certificate and certificate chain information to the console. The output depends on the certificate the user selects.
//Output chain element information. Console::WriteLine( "Chain Element Information" ); Console::WriteLine( "Number of chain elements: {0}", ch->ChainElements->Count ); Console::WriteLine( "Chain elements synchronized? {0} {1}", ch->ChainElements->IsSynchronized, Environment::NewLine ); System::Collections::IEnumerator^ myEnum = ch->ChainElements->GetEnumerator(); while ( myEnum->MoveNext() ) { X509ChainElement ^ element = safe_cast<X509ChainElement ^>(myEnum->Current); Console::WriteLine( "Element issuer name: {0}", element->Certificate->Issuer ); Console::WriteLine( "Element certificate valid until: {0}", element->Certificate->NotAfter ); Console::WriteLine( "Element certificate is valid: {0}", element->Certificate->Verify() ); Console::WriteLine( "Element error status length: {0}", element->ChainElementStatus->Length ); Console::WriteLine( "Element information: {0}", element->Information ); Console::WriteLine( "Number of element extensions: {0}{1}", element->Certificate->Extensions->Count, Environment::NewLine ); if ( ch->ChainStatus->Length > 1 ) { for ( int index = 0; index < element->ChainElementStatus->Length; index++ ) { Console::WriteLine( element->ChainElementStatus[ index ].Status ); Console::WriteLine( element->ChainElementStatus[ index ].StatusInformation ); } } } store->Close();
Available since 2.0