CngKey.GetProperty(String, CngPropertyOptions) Method

Definition

Gets a property, given a name and a set of property options.

public:
 System::Security::Cryptography::CngProperty GetProperty(System::String ^ name, System::Security::Cryptography::CngPropertyOptions options);
[System.Security.SecurityCritical]
public System.Security.Cryptography.CngProperty GetProperty (string name, System.Security.Cryptography.CngPropertyOptions options);
member this.GetProperty : string * System.Security.Cryptography.CngPropertyOptions -> System.Security.Cryptography.CngProperty
Public Function GetProperty (name As String, options As CngPropertyOptions) As CngProperty

Parameters

name
String

The name of the desired property.

options
CngPropertyOptions

A bitwise combination of the enumeration values that specify options for the named property.

Returns

An object that contains the raw value of the specified property.

Attributes

Exceptions

name is null.

All other errors.

Remarks

The purpose of this method is to return the value of an arbitrary property of the key. The typical way to retrieve properties is by using the property accessors provided by the CngKey class. CngKey provides wrappers for several, but not all, properties. The GetProperty method is primarily used to access the value of a property that is not wrapped.

This method is useful in the following cases:

  • A new version of the operating system supports a new Cryptography Next Generation (CNG) key property that does not have a wrapper.

  • You add a custom property to the key.

The options parameter is specifically used to indicate the following:

  • Whether the property is built-in, or custom.

  • Whether the property should be persisted with the key.

These options must match the value that the property was set with, or the property will not be found.

CryptographicException is thrown if the property cannot be found. You should call the HasProperty method first to avoid the exception instead of wrapping the method call in a try/catch block.

Security

SecurityPermission
for permission to call unmanaged code. Demand value: LinkDemand. Associated enumeration: UnmanagedCode

Applies to