Поделиться через


CspParameters Конструкторы

Определение

Инициализирует новый экземпляр класса CspParameters.

Перегрузки

CspParameters()

Инициализирует новый экземпляр класса CspParameters.

CspParameters(Int32)

Инициализирует новый экземпляр класса CspParameters с заданным кодом типа поставщика.

CspParameters(Int32, String)

Инициализирует новый экземпляр класса CspParameters с заданным кодом типа поставщика и именем.

CspParameters(Int32, String, String)

Инициализирует новый экземпляр класса CspParameters с заданным кодом типа и именем поставщика и именем контейнера.

CspParameters(Int32, String, String, CryptoKeySecurity, IntPtr)

Инициализирует новый экземпляр класса CspParameters, используя тип поставщика, имя поставщика, имя контейнера, сведения о доступе и дескриптор неуправляемого окна ввода пароля смарт-карты.

CspParameters(Int32, String, String, CryptoKeySecurity, SecureString)

Инициализирует новый экземпляр класса CspParameters, используя тип поставщика, имя поставщика, имя контейнера, сведения о доступе и пароль, связанный со смарт-картой.

CspParameters()

Исходный код:
CspParameters.cs
Исходный код:
CspParameters.cs
Исходный код:
CspParameters.cs

Инициализирует новый экземпляр класса CspParameters.

public:
 CspParameters();
public CspParameters ();
Public Sub New ()

Примеры

В следующем примере кода создается контейнер ключей CspParameters с помощью класса и ключ сохраняется в контейнере.

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

Комментарии

Эта форма инициализирует CspParametersProviderType поле значением 24, которое задает поставщика PROV_RSA_AES. Этот поставщик по умолчанию совместим с алгоритмом Aes .

Сведения о других типах поставщиков см. в ProviderType поле .

См. также раздел

Применяется к

CspParameters(Int32)

Исходный код:
CspParameters.cs
Исходный код:
CspParameters.cs
Исходный код:
CspParameters.cs

Инициализирует новый экземпляр класса CspParameters с заданным кодом типа поставщика.

public:
 CspParameters(int dwTypeIn);
public CspParameters (int dwTypeIn);
new System.Security.Cryptography.CspParameters : int -> System.Security.Cryptography.CspParameters
Public Sub New (dwTypeIn As Integer)

Параметры

dwTypeIn
Int32

Код типа поставщика, определяющий вид создаваемого поставщика.

Комментарии

Используйте конструктор, CspParameters чтобы указать тип поставщика, передав числовое значение, представляющее этого поставщика. Числовые значения, представляющие типы поставщиков по умолчанию, определяются в файле заголовка WinCrypt.h:

  • Чтобы указать поставщик, совместимый с алгоритмом RSA , передайте значение 1 в dwTypeIn параметр .

  • Чтобы указать поставщик, совместимый с алгоритмом DSA , передайте значение 13 в dwTypeIn параметр .

Сведения о других значениях типа поставщика см. в ProviderType поле . Дополнительные сведения о типах поставщиков по умолчанию и их поведении см. в документации по API шифрования Майкрософт (CAPI).

См. также раздел

Применяется к

CspParameters(Int32, String)

Исходный код:
CspParameters.cs
Исходный код:
CspParameters.cs
Исходный код:
CspParameters.cs

Инициализирует новый экземпляр класса CspParameters с заданным кодом типа поставщика и именем.

public:
 CspParameters(int dwTypeIn, System::String ^ strProviderNameIn);
public CspParameters (int dwTypeIn, string? strProviderNameIn);
public CspParameters (int dwTypeIn, string strProviderNameIn);
new System.Security.Cryptography.CspParameters : int * string -> System.Security.Cryptography.CspParameters
Public Sub New (dwTypeIn As Integer, strProviderNameIn As String)

Параметры

dwTypeIn
Int32

Код типа поставщика, определяющий вид создаваемого поставщика.

strProviderNameIn
String

Имя поставщика.

Примеры

В следующем примере кода используется CspParameters класс для выбора поставщика служб шифрования смарт-карт. Затем он подписывает и проверяет данные с помощью смарт-карты.

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

Комментарии

Используйте конструктор, CspParameters чтобы указать тип и имя поставщика.

Укажите тип поставщика, передав числовое значение, представляющее требуемый тип поставщика. Числовые значения, представляющие типы поставщиков по умолчанию, определяются в файле заголовка WinCrypt.h:

  • Чтобы указать поставщик, совместимый с алгоритмом RSA , передайте значение 1 в dwTypeIn параметр .

  • Чтобы указать поставщик, совместимый с алгоритмом DSA , передайте значение 13 в dwTypeIn параметр .

Сведения о других значениях типа поставщика см. в ProviderType поле . Дополнительные сведения о типах поставщиков по умолчанию и их поведении см. в документации по API шифрования Майкрософт (CAPI).

См. также раздел

Применяется к

CspParameters(Int32, String, String)

Исходный код:
CspParameters.cs
Исходный код:
CspParameters.cs
Исходный код:
CspParameters.cs

Инициализирует новый экземпляр класса CspParameters с заданным кодом типа и именем поставщика и именем контейнера.

public:
 CspParameters(int dwTypeIn, System::String ^ strProviderNameIn, System::String ^ strContainerNameIn);
public CspParameters (int dwTypeIn, string? strProviderNameIn, string? strContainerNameIn);
public CspParameters (int dwTypeIn, string strProviderNameIn, string strContainerNameIn);
new System.Security.Cryptography.CspParameters : int * string * string -> System.Security.Cryptography.CspParameters
Public Sub New (dwTypeIn As Integer, strProviderNameIn As String, strContainerNameIn As String)

Параметры

dwTypeIn
Int32

Код типа поставщика, определяющий вид создаваемого поставщика.

strProviderNameIn
String

Имя поставщика.

strContainerNameIn
String

Имя контейнера.

Комментарии

Используйте конструктор, CspParameters чтобы указать тип поставщика, имя поставщика и имя контейнера.

Имя контейнера можно использовать для получения ключа в этом контейнере.

Укажите тип поставщика, передав числовое значение, представляющее требуемый тип поставщика. Числовые значения, представляющие типы поставщиков по умолчанию, определяются в файле заголовка WinCrypt.h:

  • Чтобы указать поставщик, совместимый с алгоритмом RSA , передайте значение 1 в dwTypeIn параметр .

  • Чтобы указать поставщик, совместимый с алгоритмом DSA , передайте значение 13 в dwTypeIn параметр .

Сведения о других значениях типа поставщика см. в ProviderType поле . Дополнительные сведения о типах поставщиков по умолчанию и их поведении см. в документации по API шифрования Майкрософт (CAPI).

См. также раздел

Применяется к

CspParameters(Int32, String, String, CryptoKeySecurity, IntPtr)

Инициализирует новый экземпляр класса CspParameters, используя тип поставщика, имя поставщика, имя контейнера, сведения о доступе и дескриптор неуправляемого окна ввода пароля смарт-карты.

public:
 CspParameters(int providerType, System::String ^ providerName, System::String ^ keyContainerName, System::Security::AccessControl::CryptoKeySecurity ^ cryptoKeySecurity, IntPtr parentWindowHandle);
public CspParameters (int providerType, string providerName, string keyContainerName, System.Security.AccessControl.CryptoKeySecurity cryptoKeySecurity, IntPtr parentWindowHandle);
new System.Security.Cryptography.CspParameters : int * string * string * System.Security.AccessControl.CryptoKeySecurity * nativeint -> System.Security.Cryptography.CspParameters
Public Sub New (providerType As Integer, providerName As String, keyContainerName As String, cryptoKeySecurity As CryptoKeySecurity, parentWindowHandle As IntPtr)

Параметры

providerType
Int32

Код типа поставщика, определяющий вид создаваемого поставщика.

providerName
String

Имя поставщика.

keyContainerName
String

Имя контейнера.

cryptoKeySecurity
CryptoKeySecurity

Объект, представляющий права доступа и правила аудита для контейнера.

parentWindowHandle
IntPtr

nativeint

Дескриптор родительского окна для окна ввода пароля смарт-карты.

Комментарии

Имя контейнера можно использовать для получения ключа в этом контейнере.

Укажите тип поставщика, передав числовое значение, представляющее требуемый тип поставщика. Числовые значения, представляющие типы поставщиков по умолчанию, определяются в файле заголовка WinCrypt.h:

  • Чтобы указать поставщик, совместимый с алгоритмом RSA , передайте значение 1 в dwTypeIn параметр .

  • Чтобы указать поставщик, совместимый с алгоритмом DSA , передайте значение 13 в dwTypeIn параметр .

Сведения о других значениях типа поставщика см. в ProviderType поле . Дополнительные сведения о типах поставщиков по умолчанию и их поведении см. в документации по API шифрования Майкрософт (CAPI).

Применяется к

CspParameters(Int32, String, String, CryptoKeySecurity, SecureString)

Инициализирует новый экземпляр класса CspParameters, используя тип поставщика, имя поставщика, имя контейнера, сведения о доступе и пароль, связанный со смарт-картой.

public:
 CspParameters(int providerType, System::String ^ providerName, System::String ^ keyContainerName, System::Security::AccessControl::CryptoKeySecurity ^ cryptoKeySecurity, System::Security::SecureString ^ keyPassword);
public CspParameters (int providerType, string providerName, string keyContainerName, System.Security.AccessControl.CryptoKeySecurity cryptoKeySecurity, System.Security.SecureString keyPassword);
new System.Security.Cryptography.CspParameters : int * string * string * System.Security.AccessControl.CryptoKeySecurity * System.Security.SecureString -> System.Security.Cryptography.CspParameters
Public Sub New (providerType As Integer, providerName As String, keyContainerName As String, cryptoKeySecurity As CryptoKeySecurity, keyPassword As SecureString)

Параметры

providerType
Int32

Код типа поставщика, определяющий вид создаваемого поставщика.

providerName
String

Имя поставщика.

keyContainerName
String

Имя контейнера.

cryptoKeySecurity
CryptoKeySecurity

Объект, представляющий права доступа и правила аудита для контейнера.

keyPassword
SecureString

Пароль, связанный со смарт-картой.

Комментарии

Имя контейнера можно использовать для получения ключа в этом контейнере.

Укажите тип поставщика, передав числовое значение, представляющее требуемый тип поставщика. Числовые значения, представляющие типы поставщиков по умолчанию, определяются в файле заголовка WinCrypt.h:

  • Чтобы указать поставщик, совместимый с алгоритмом RSA , передайте значение 1 в dwTypeIn параметр .

  • Чтобы указать поставщик, совместимый с алгоритмом DSA , передайте значение 13 в dwTypeIn параметр .

Сведения о других значениях типа поставщика см. в ProviderType поле . Дополнительные сведения о типах поставщиков по умолчанию и их поведении см. в документации по API шифрования Майкрософт (CAPI).

Применяется к