KeyAlgorithmNames KeyAlgorithmNames KeyAlgorithmNames KeyAlgorithmNames KeyAlgorithmNames Class


Defines several commonly used public key algorithm names. You can use this class in the KeyAlgorithmName property on the CertificateRequestProperties class.

public : static class KeyAlgorithmNames
static struct winrt::Windows::Security::Cryptography::Certificates::KeyAlgorithmNames
public static class KeyAlgorithmNames
Public Shared Class KeyAlgorithmNames
// This class does not provide a public constructor.

Windows 10 requirements

Device family
Windows 10 (introduced v10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v1)


using Windows.Security.Cryptography.Certificates;

namespace SampleKeyAlgorithmNames
    sealed partial class KeyAlgNamesApp : Application
        public KeyAlgNamesApp()
            // Initialize the application.

            // Demonstrate how to retrieve and set public key algorithm name.

        public void SamplePublicKeyAlgNames()
            // Create a new CertificateRequestProperties object.
            CertificateRequestProperties reqProperties = new CertificateRequestProperties();

            // Retrieve the default value (RSA).
            String strDefaultAlgName = reqProperties.KeyAlgorithmName;

            // Set the value to DSA.
            reqProperties.KeyAlgorithmName = KeyAlgorithmNames.Dsa;

            //Set the value to ECDH_P256.
            reqProperties.KeyAlgorithmName = KeyAlgorithmNames.Ecdh256;

            //Set the value to ECDH_P384.
            reqProperties.KeyAlgorithmName = KeyAlgorithmNames.Ecdh384;

            //Set the value to ECDH_P521.
            reqProperties.KeyAlgorithmName = KeyAlgorithmNames.Ecdh521;

            //Set the value to ECDSA_P256.
            reqProperties.KeyAlgorithmName = KeyAlgorithmNames.Ecdsa256;

            //Set the value to ECDSA_P384.
            reqProperties.KeyAlgorithmName = KeyAlgorithmNames.Ecdsa384;

            //Set the value to ECDSA_P521.
            reqProperties.KeyAlgorithmName = KeyAlgorithmNames.Ecdsa521;


This class contains only static properties. You do not have to create an instance of the class to retrieve the properties. Instead, use the class name followed by the dot operator (.), followed by the property name.


Dsa Dsa Dsa Dsa Dsa

Returns "DSA" as the key algorithm name.

Ecdh Ecdh Ecdh Ecdh Ecdh

Returns "ECDH" as the key algorithm name.

Ecdh256 Ecdh256 Ecdh256 Ecdh256 Ecdh256

Returns "ECDH256" as the key algorithm name.

Ecdh384 Ecdh384 Ecdh384 Ecdh384 Ecdh384

Returns "ECDH384" as the key algorithm name.

Ecdh521 Ecdh521 Ecdh521 Ecdh521 Ecdh521

Returns "ECDH521" as the key algorithm name.

Ecdsa Ecdsa Ecdsa Ecdsa Ecdsa

Returns "ECDSA" as the key algorithm name.

Ecdsa256 Ecdsa256 Ecdsa256 Ecdsa256 Ecdsa256

Returns "ECDSA256" as the key algorithm name.

Ecdsa384 Ecdsa384 Ecdsa384 Ecdsa384 Ecdsa384

Returns "ECDSA384" as the key algorithm name.

Ecdsa521 Ecdsa521 Ecdsa521 Ecdsa521 Ecdsa521

Returns "ECDSA521" as the key algorithm name.

Rsa Rsa Rsa Rsa Rsa

Returns "RSA" as the key algorithm name.

See also