다음을 통해 공유


CryptographicKey 클래스

정의

대칭 키 또는 비대칭 키 쌍을 나타냅니다.

public ref class CryptographicKey sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class CryptographicKey final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class CryptographicKey
Public NotInheritable Class CryptographicKey
상속
Object Platform::Object IInspectable CryptographicKey
특성

Windows 요구 사항

디바이스 패밀리
Windows 10 (10.0.10240.0에서 도입되었습니다.)
API contract
Windows.Foundation.UniversalApiContract (v1.0에서 도입되었습니다.)

예제

using Windows.Security.Cryptography;
using Windows.Security.Cryptography.Core;
using Windows.Storage.Streams;

namespace SampleCryptographicKey
{
    sealed partial class CryptographicKeyApp : Application
    {
        static IBuffer buffKeyPair;

        public CryptographicKeyApp()
        {
            // Initialize the application.
            this.InitializeComponent();

            // Create an asymmetric key pair.
            String strAsymmetricAlgName = AsymmetricAlgorithmNames.RsaPkcs1;
            UInt32 asymmetricKeyLength = 512;
            IBuffer buffPublicKey = this.SampleCreateAsymmetricKeyPair(
                strAsymmetricAlgName,
                asymmetricKeyLength);
        }

        public IBuffer SampleCreateAsymmetricKeyPair(
            String strAsymmetricAlgName,
            UInt32 keyLength)
        {
            // Open the algorithm provider for the specified asymmetric algorithm.
            AsymmetricKeyAlgorithmProvider objAlgProv = AsymmetricKeyAlgorithmProvider.OpenAlgorithm(strAsymmetricAlgName);

            // Create an asymmetric key pair.
            CryptographicKey keyPair = objAlgProv.CreateKeyPair(keyLength);

            // Export the public key to a buffer for use by others.
            IBuffer buffPublicKey = keyPair.ExportPublicKey();

            // You should keep your private key (embedded in the key pair) secure. For  
            // the purposes of this example, however, we're just copying it into a
            // static class variable for later use during decryption.
            CryptographicKeyApp.buffKeyPair = keyPair.Export();

            // Retrieve the size of the key pair.
            UInt32 lengthKeyPair = keyPair.KeySize;

            // Return the public key.
            return buffPublicKey;
        }
    }
}

설명

CryptographicKey 개체는 다음 클래스에서 키를 만들거나 가져오는 메서드를 사용할 때 만들어집니다.

속성

KeySize

키의 크기(비트)를 가져옵니다.

메서드

Export()

키 쌍을 버퍼로 내보냅니다.

Export(CryptographicPrivateKeyBlobType)

지정된 형식이 지정된 경우 키 쌍을 버퍼로 내보냅니다.

ExportPublicKey()

퍼블릭 키를 버퍼로 내보냅니다.

ExportPublicKey(CryptographicPublicKeyBlobType)

지정된 형식이 지정된 경우 퍼블릭 키를 버퍼로 내보냅니다.

적용 대상

추가 정보