CspParameters Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Şifreleme hesaplamaları gerçekleştiren şifreleme hizmeti sağlayıcısına (CSP) geçirilen parametreleri içerir. Bu sınıf devralınamaz.
public ref class CspParameters sealed
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public sealed class CspParameters
public sealed class CspParameters
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class CspParameters
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
type CspParameters = class
type CspParameters = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type CspParameters = class
Public NotInheritable Class CspParameters
- Devralma
-
CspParameters
- Öznitelikler
Örnekler
Aşağıdaki kod örneği sınıfını kullanarak bir anahtar kapsayıcısı CspParameters oluşturur ve anahtarı kapsayıcıya kaydeder.
using namespace System;
using namespace System::IO;
using namespace System::Security::Cryptography;
int main()
{
// creates the CspParameters object and sets the key container name used to store the RSA key pair
CspParameters^ cp = gcnew CspParameters;
cp->KeyContainerName = "MyKeyContainerName";
// instantiates the rsa instance accessing the key container MyKeyContainerName
RSACryptoServiceProvider^ rsa = gcnew RSACryptoServiceProvider( cp );
// add the below line to delete the key entry in MyKeyContainerName
// rsa.PersistKeyInCsp = false;
//writes out the current key pair used in the rsa instance
Console::WriteLine( "Key is : \n{0}", rsa->ToXmlString( true ) );
}
using System;
using System.IO;
using System.Security.Cryptography;
public class StoreKey
{
public static void Main()
{
// creates the CspParameters object and sets the key container name used to store the RSA key pair
CspParameters cp = new CspParameters();
cp.KeyContainerName = "MyKeyContainerName";
// instantiates the rsa instance accessing the key container MyKeyContainerName
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(cp);
// add the below line to delete the key entry in MyKeyContainerName
// rsa.PersistKeyInCsp = false;
//writes out the current key pair used in the rsa instance
Console.WriteLine("Key is : \n" + rsa.ToXmlString(true));
}
}
Imports System.IO
Imports System.Security.Cryptography
Public Class StoreKey
Public Shared Sub Main()
' creates the CspParameters object and sets the key container name used to store the RSA key pair
Dim cp As New CspParameters()
cp.KeyContainerName = "MyKeyContainerName"
' instantiates the rsa instance accessing the key container MyKeyContainerName
Dim rsa As New RSACryptoServiceProvider(cp)
' add the below line to delete the key entry in MyKeyContainerName
' rsa.PersistKeyInCsp = false;
'writes out the current key pair used in the rsa instance
Console.WriteLine("Key is : " & rsa.ToXmlString(True))
End Sub
End Class
Aşağıdaki kod örneği, bir Akıllı Kart Şifreleme Hizmeti Sağlayıcısı seçmek için sınıfını kullanır CspParameters . Ardından akıllı kartı kullanarak verileri imzalar ve doğrular.
using namespace System;
using namespace System::Security::Cryptography;
int main()
{
// To idendify the Smart Card CryptoGraphic Providers on your
// computer, use the Microsoft Registry Editor (Regedit.exe).
// The available Smart Card CryptoGraphic Providers are listed
// in HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Defaults\Provider.
// Create a new CspParameters object that identifies a
// Smart Card CryptoGraphic Provider.
// The 1st parameter comes from HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Defaults\Provider Types.
// The 2nd parameter comes from HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Defaults\Provider.
CspParameters^ csp = gcnew CspParameters( 1,L"Schlumberger Cryptographic Service Provider" );
csp->Flags = CspProviderFlags::UseDefaultKeyContainer;
// Initialize an RSACryptoServiceProvider object using
// the CspParameters object.
RSACryptoServiceProvider^ rsa = gcnew RSACryptoServiceProvider( csp );
// Create some data to sign.
array<Byte>^data = gcnew array<Byte>{
0,1,2,3,4,5,6,7
};
Console::WriteLine( L"Data : {0}", BitConverter::ToString( data ) );
// Sign the data using the Smart Card CryptoGraphic Provider.
array<Byte>^sig = rsa->SignData( data, L"SHA256" );
Console::WriteLine( L"Signature : {0}", BitConverter::ToString( sig ) );
// Verify the data using the Smart Card CryptoGraphic Provider.
bool verified = rsa->VerifyData( data, L"SHA256", sig );
Console::WriteLine( L"Verified : {0}", verified );
}
using System;
using System.Security.Cryptography;
namespace SmartCardSign
{
class SCSign
{
static void Main(string[] args)
{
// To idendify the Smart Card CryptoGraphic Providers on your
// computer, use the Microsoft Registry Editor (Regedit.exe).
// The available Smart Card CryptoGraphic Providers are listed
// in HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Defaults\Provider.
// Create a new CspParameters object that identifies a
// Smart Card CryptoGraphic Provider.
// The 1st parameter comes from HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Defaults\Provider Types.
// The 2nd parameter comes from HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Defaults\Provider.
CspParameters csp = new CspParameters(1, "Schlumberger Cryptographic Service Provider");
csp.Flags = CspProviderFlags.UseDefaultKeyContainer;
// Initialize an RSACryptoServiceProvider object using
// the CspParameters object.
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(csp);
// Create some data to sign.
byte[] data = new byte[] { 0, 1, 2, 3, 4, 5, 6, 7 };
Console.WriteLine("Data : " + BitConverter.ToString(data));
// Sign the data using the Smart Card CryptoGraphic Provider.
byte[] sig = rsa.SignData(data, "SHA256");
Console.WriteLine("Signature : " + BitConverter.ToString(sig));
// Verify the data using the Smart Card CryptoGraphic Provider.
bool verified = rsa.VerifyData(data, "SHA256", sig);
Console.WriteLine("Verified : " + verified);
}
}
}
Imports System.Security.Cryptography
Module SCSign
Sub Main(ByVal args() As String)
' To idendify the Smart Card CryptoGraphic Providers on your
' computer, use the Microsoft Registry Editor (Regedit.exe).
' The available Smart Card CryptoGraphic Providers are listed
' in HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Defaults\Provider.
' Create a new CspParameters object that identifies a
' Smart Card CryptoGraphic Provider.
' The 1st parameter comes from HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Defaults\Provider Types.
' The 2nd parameter comes from HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Defaults\Provider.
Dim csp As New CspParameters(1, "Schlumberger Cryptographic Service Provider")
csp.Flags = CspProviderFlags.UseDefaultKeyContainer
' Initialize an RSACryptoServiceProvider object using
' the CspParameters object.
Dim rsa As New RSACryptoServiceProvider(csp)
' Create some data to sign.
Dim data() As Byte = {0, 1, 2, 3, 4, 5, 6, 7}
Console.WriteLine("Data : " + BitConverter.ToString(data))
' Sign the data using the Smart Card CryptoGraphic Provider.
Dim sig As Byte() = rsa.SignData(data, "SHA256")
Console.WriteLine("Signature : " + BitConverter.ToString(sig))
' Verify the data using the Smart Card CryptoGraphic Provider.
Dim verified As Boolean = rsa.VerifyData(data, "SHA256", sig)
Console.WriteLine("Verified")
End Sub
End Module
Açıklamalar
sınıfı, CspParameters yönetilmeyen Microsoft Şifreleme API'sinden (CAPI) Microsoft Şifreleme Hizmeti Sağlayıcıları'nı (CSP' ler) dahili olarak kullanan yönetilen şifreleme sınıflarına geçirebileceğiniz parametreleri temsil eder. Adları "CryptoServiceProvider" ile biten sınıflar, ilgili CSP için yönetilen kod sarmalayıcılarıdır.
CspParameters Aşağıdakileri yapmak için sınıfını kullanın:
Sağlayıcı türünü or ProviderName özelliğine ProviderType geçirerek belirli bir CSP belirtin. Oluşturucunun aşırı yüklemesini kullanarak bir CSP de belirtebilirsiniz.
Şifreleme anahtarlarını depolayabileceğiniz bir anahtar kapsayıcısı oluşturun. Anahtar kapsayıcıları, şifreleme anahtarlarını kalıcı hale getirmek ve kötü amaçlı üçüncü taraflardan gizli tutmak için en güvenli yolu sağlar. Anahtar kapsayıcıları oluşturma hakkında daha fazla bilgi için bkz . Nasıl yapılır: Anahtar Kapsayıcısında Asimetrik Anahtarları Depolama.
özelliğini kullanarak KeyNumber asimetrik imza anahtarı mı yoksa asimetrik değişim anahtarı mı oluşturulacağını belirtin.
Oluşturucular
CspParameters() |
CspParameters sınıfının yeni bir örneğini başlatır. |
CspParameters(Int32) |
Belirtilen sağlayıcı türü koduyla sınıfının yeni bir örneğini CspParameters başlatır. |
CspParameters(Int32, String) |
Belirtilen sağlayıcı türü kodu ve adıyla sınıfının yeni bir örneğini CspParameters başlatır. |
CspParameters(Int32, String, String) |
Belirtilen sağlayıcı türü kodu ve adıyla ve belirtilen kapsayıcı adıyla sınıfının yeni bir örneğini CspParameters başlatır. |
CspParameters(Int32, String, String, CryptoKeySecurity, IntPtr) |
Sağlayıcı türü, sağlayıcı adı, kapsayıcı adı, erişim bilgileri ve yönetilmeyen akıllı kart parola iletişim kutusunun tanıtıcısını kullanarak sınıfının yeni bir örneğini CspParameters başlatır. |
CspParameters(Int32, String, String, CryptoKeySecurity, SecureString) |
Sağlayıcı türü, sağlayıcı adı, kapsayıcı adı, erişim bilgileri ve akıllı kart anahtarıyla ilişkilendirilmiş bir parola kullanarak sınıfının yeni bir örneğini CspParameters başlatır. |
Alanlar
KeyContainerName |
için CspParametersanahtar kapsayıcı adını temsil eder. |
KeyNumber |
Asimetrik anahtarın imza anahtarı olarak mı yoksa exchange anahtarı olarak mı oluşturulduğunu belirtir. |
ProviderName |
için CspParameterssağlayıcı adını temsil eder. |
ProviderType |
için CspParameterssağlayıcı türü kodunu temsil eder. |
Özellikler
CryptoKeySecurity |
Kapsayıcı için erişim haklarını ve denetim kurallarını temsil eden bir nesneyi alır veya ayarlar CryptoKeySecurity . |
Flags |
Şifreleme hizmeti sağlayıcısının (CSP) davranışını değiştiren bayrakları CspParameters temsil eder. |
KeyPassword |
Akıllı kart anahtarıyla ilişkilendirilmiş bir parolayı alır veya ayarlar. |
ParentWindowHandle |
Akıllı kart parolası iletişim kutusu için yönetilmeyen üst pencereye tanıtıcı alır veya ayarlar. |
Yöntemler
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |