X509ChainPolicy::ApplicationPolicy Property

 

Gets a collection of object identifiers (OIDs) specifying which application policies or enhanced key usages (EKUs) the certificate supports.

Namespace:   System.Security.Cryptography.X509Certificates
Assembly:  System (in System.dll)

public:
property OidCollection^ ApplicationPolicy {
	OidCollection^ get();
}

By default, this collection is empty. You can add additional object identifiers (OIDs) to the collection using the following code:

X509Chain^ ch = gcnew X509Chain();
ch->ChainPolicy->ApplicationPolicy->Add(gcnew Oid("1.2.1.1"));

The following 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 you select.

//Output chain information of the selected certificate.
X509Chain ^ ch = gcnew X509Chain;
ch->Build( certificate );
Console::WriteLine( "Chain Information" );
ch->ChainPolicy->RevocationMode = X509RevocationMode::Online;
Console::WriteLine( "Chain revocation flag: {0}", ch->ChainPolicy->RevocationFlag );
Console::WriteLine( "Chain revocation mode: {0}", ch->ChainPolicy->RevocationMode );
Console::WriteLine( "Chain verification flag: {0}", ch->ChainPolicy->VerificationFlags );
Console::WriteLine( "Chain verification time: {0}", ch->ChainPolicy->VerificationTime );
Console::WriteLine( "Chain status length: {0}", ch->ChainStatus->Length );
Console::WriteLine( "Chain application policy count: {0}", ch->ChainPolicy->ApplicationPolicy->Count );
Console::WriteLine( "Chain certificate policy count: {0} {1}", ch->ChainPolicy->CertificatePolicy->Count, Environment::NewLine );

.NET Framework
Available since 2.0
Return to top
Show: