CspParameters Sınıf

Tanım

Ş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ü veya ProviderName özelliğine ProviderType geçirerek belirli bir CSP belirtin. Oluşturucunun aşırı yüklemesini kullanarak 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ı ve belirtilen kapsayıcı adı ile 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)

Bir sağlayıcı türü, sağlayıcı adı, kapsayıcı adı, erişim bilgileri ve akıllı kart anahtarıyla ilişkili 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 değişim 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şkili bir parolayı alır veya ayarlar.

ParentWindowHandle

Akıllı kart parolası iletişim kutusu için yönetilmeyen üst pencereye bir 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)

Şunlara uygulanır

Ayrıca bkz.