CspKeyContainerInfo.KeyNumber 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
비대칭 키가 서명 키로 만들어졌는지 또는 교환 키로 만들어졌는지를 설명하는 값을 가져옵니다.
public:
property System::Security::Cryptography::KeyNumber KeyNumber { System::Security::Cryptography::KeyNumber get(); };
public System.Security.Cryptography.KeyNumber KeyNumber { get; }
member this.KeyNumber : System.Security.Cryptography.KeyNumber
Public ReadOnly Property KeyNumber As KeyNumber
속성 값
비대칭 키가 서명 키 또는 교환 키로 만들어졌는지 여부를 설명하는 KeyNumber 값 중 하나입니다.
예제
다음 코드 예제에서는 키 컨테이너를 만들고 해당 컨테이너에 대한 정보를 검색합니다.
using namespace System;
using namespace System::Security::Cryptography;
using namespace System::Text;
int main()
{
RSACryptoServiceProvider^ rsa = gcnew RSACryptoServiceProvider;
try
{
// Note: In cases where a random key is generated,
// a key container is not created until you call
// a method that uses the key. This example calls
// the Encrypt method before calling the
// CspKeyContainerInfo property so that a key
// container is created.
// Create some data to encrypt and display it.
String^ data = L"Here is some data to encrypt.";
Console::WriteLine( L"Data to encrypt: {0}", data );
// Convert the data to an array of bytes and
// encrypt it.
array<Byte>^byteData = Encoding::ASCII->GetBytes( data );
array<Byte>^encData = rsa->Encrypt( byteData, false );
// Display the encrypted value.
Console::WriteLine( L"Encrypted Data: {0}", Encoding::ASCII->GetString( encData ) );
Console::WriteLine();
Console::WriteLine( L"CspKeyContainerInfo information:" );
Console::WriteLine();
// Create a new CspKeyContainerInfo object.
CspKeyContainerInfo^ keyInfo = rsa->CspKeyContainerInfo;
// Display the value of each property.
Console::WriteLine( L"Accessible property: {0}", keyInfo->Accessible );
Console::WriteLine( L"Exportable property: {0}", keyInfo->Exportable );
Console::WriteLine( L"HardwareDevice property: {0}", keyInfo->HardwareDevice );
Console::WriteLine( L"KeyContainerName property: {0}", keyInfo->KeyContainerName );
Console::WriteLine( L"KeyNumber property: {0}", keyInfo->KeyNumber );
Console::WriteLine( L"MachineKeyStore property: {0}", keyInfo->MachineKeyStore );
Console::WriteLine( L"Protected property: {0}", keyInfo->Protected );
Console::WriteLine( L"ProviderName property: {0}", keyInfo->ProviderName );
Console::WriteLine( L"ProviderType property: {0}", keyInfo->ProviderType );
Console::WriteLine( L"RandomlyGenerated property: {0}", keyInfo->RandomlyGenerated );
Console::WriteLine( L"Removable property: {0}", keyInfo->Removable );
Console::WriteLine( L"UniqueKeyContainerName property: {0}", keyInfo->UniqueKeyContainerName );
}
catch ( Exception^ e )
{
Console::WriteLine( e );
}
finally
{
// Clear the key.
rsa->Clear();
}
}
using System;
using System.Security.Cryptography;
using System.Text;
public class CspKeyContainerInfoExample
{
public static void Main(String[] args)
{
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
try
{
// Note: In cases where a random key is generated,
// a key container is not created until you call
// a method that uses the key. This example calls
// the Encrypt method before calling the
// CspKeyContainerInfo property so that a key
// container is created.
// Create some data to encrypt and display it.
string data = "Here is some data to encrypt.";
Console.WriteLine("Data to encrypt: " + data);
// Convert the data to an array of bytes and
// encrypt it.
byte[] byteData = Encoding.ASCII.GetBytes(data);
byte[] encData = rsa.Encrypt(byteData, false);
// Display the encrypted value.
Console.WriteLine("Encrypted Data: " + Encoding.ASCII.GetString(encData));
Console.WriteLine();
Console.WriteLine("CspKeyContainerInfo information:");
Console.WriteLine();
// Create a new CspKeyContainerInfo object.
CspKeyContainerInfo keyInfo = rsa.CspKeyContainerInfo;
// Display the value of each property.
Console.WriteLine("Accessible property: " + keyInfo.Accessible);
Console.WriteLine("Exportable property: " + keyInfo.Exportable);
Console.WriteLine("HardwareDevice property: " + keyInfo.HardwareDevice);
Console.WriteLine("KeyContainerName property: " + keyInfo.KeyContainerName);
Console.WriteLine("KeyNumber property: " + keyInfo.KeyNumber.ToString());
Console.WriteLine("MachineKeyStore property: " + keyInfo.MachineKeyStore);
Console.WriteLine("Protected property: " + keyInfo.Protected);
Console.WriteLine("ProviderName property: " + keyInfo.ProviderName);
Console.WriteLine("ProviderType property: " + keyInfo.ProviderType);
Console.WriteLine("RandomlyGenerated property: " + keyInfo.RandomlyGenerated);
Console.WriteLine("Removable property: " + keyInfo.Removable);
Console.WriteLine("UniqueKeyContainerName property: " + keyInfo.UniqueKeyContainerName);
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
finally
{
// Clear the key.
rsa.Clear();
}
}
}
Imports System.Security.Cryptography
Imports System.Text
Module CspKeyContainerInfoExample
Sub Main(ByVal args() As String)
Dim rsa As New RSACryptoServiceProvider()
Try
' Note: In cases where a random key is generated,
' a key container is not created until you call
' a method that uses the key. This example calls
' the Encrypt method before calling the
' CspKeyContainerInfo property so that a key
' container is created.
' Create some data to encrypt and display it.
Dim data As String = "Here is some data to encrypt."
Console.WriteLine("Data to encrypt: " + data)
' Convert the data to an array of bytes and
' encrypt it.
Dim byteData As Byte() = Encoding.ASCII.GetBytes(data)
Dim encData As Byte() = rsa.Encrypt(byteData, False)
' Display the encrypted value.
Console.WriteLine("Encrypted Data: " + Encoding.ASCII.GetString(encData))
Console.WriteLine()
Console.WriteLine("CspKeyContainerInfo information:")
Console.WriteLine()
' Create a new CspKeyContainerInfo object.
Dim keyInfo As CspKeyContainerInfo = rsa.CspKeyContainerInfo
' Display the value of each property.
Console.WriteLine("Accessible property: " + keyInfo.Accessible.ToString())
Console.WriteLine("Exportable property: " + keyInfo.Exportable.ToString())
Console.WriteLine("HardwareDevice property: " + keyInfo.HardwareDevice.ToString())
Console.WriteLine("KeyContainerName property: " + keyInfo.KeyContainerName)
Console.WriteLine("KeyNumber property: " + keyInfo.KeyNumber.ToString())
Console.WriteLine("MachineKeyStore property: " + keyInfo.MachineKeyStore.ToString())
Console.WriteLine("Protected property: " + keyInfo.Protected.ToString())
Console.WriteLine("ProviderName property: " + keyInfo.ProviderName)
Console.WriteLine("ProviderType property: " + keyInfo.ProviderType.ToString())
Console.WriteLine("RandomlyGenerated property: " + keyInfo.RandomlyGenerated.ToString())
Console.WriteLine("Removable property: " + keyInfo.Removable.ToString())
Console.WriteLine("UniqueKeyContainerName property: " + keyInfo.UniqueKeyContainerName)
Catch e As Exception
Console.WriteLine(e.ToString())
Finally
' Clear the key.
rsa.Clear()
End Try
Console.ReadLine()
End Sub
End Module
설명
속성의 KeyNumber 값은 개체를 KeyNumber 초기화하는 CspKeyContainerInfo 데 사용된 개체의 CspParameters 필드에서 파생됩니다.
교환 키는 다른 사용자와 안전하게 저장 및 교환할 수 있도록 세션 키를 암호화하는 데 사용되는 비대칭 키 쌍입니다. 값은 Exchange 교환 키를 지정합니다. 이 값은 AT_KEYEXCHANGE
관리되지 않는 CAPI(Microsoft Cryptographic API)에 사용되는 값에 해당합니다.
서명 키는 디지털 서명된 메시지 또는 파일을 인증하는 데 사용되는 비대칭 키 쌍입니다. 값은 Signature 서명 키를 지정합니다. 이 값은 CAPI에 AT_SIGNATURE
사용되는 값에 해당합니다.
적용 대상
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET