CspParameters Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Innehåller parametrar som skickas till den kryptografiska tjänstprovidern (CSP) som utför kryptografiska beräkningar. Det går inte att ärva den här klassen.
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
- Arv
-
CspParameters
- Attribut
Exempel
I följande kodexempel skapas en nyckelcontainer med hjälp av CspParameters klassen och nyckeln sparas i containern.
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
I följande kodexempel används CspParameters klassen för att välja en kryptografitjänstprovider för smartkort. Sedan signeras och verifieras data med hjälp av smartkortet.
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
Kommentarer
Klassen CspParameters representerar parametrar som du kan skicka till hanterade kryptografiklasser som internt använder Microsoft kryptografiska tjänstleverantörer (CSP:er) från det ohanterade Microsoft KRYPTOGRAFI-API (CAPI). Klasser med namn som slutar med "CryptoServiceProvider" är hanterade kodomslutningar för motsvarande CSP.
CspParameters Använd klassen för att göra följande:
Ange en viss CSP genom att skicka providertypen till ProviderType egenskapen eller ProviderName . Du kan också ange en CSP med en överlagring av konstruktorn.
Skapa en nyckelcontainer där du kan lagra kryptografiska nycklar. Nyckelcontainrar är det säkraste sättet att bevara kryptografiska nycklar och hålla dem hemliga från skadliga tredje parter. Mer information om hur du skapar nyckelcontainrar finns i Så här lagrar du asymmetriska nycklar i en nyckelcontainer.
Ange om du vill skapa en asymmetrisk signaturnyckel eller en asymmetrisk exchange-nyckel med hjälp av KeyNumber egenskapen .
Konstruktorer
| Name | Description |
|---|---|
| CspParameters() |
Initierar en ny instans av CspParameters klassen. |
| CspParameters(Int32, String, String, CryptoKeySecurity, IntPtr) |
Initierar en ny instans av klassen med hjälp av CspParameters en providertyp, ett providernamn, ett containernamn, åtkomstinformation och ett handtag till en ohanterad dialogruta för lösenord för smartkort. |
| CspParameters(Int32, String, String, CryptoKeySecurity, SecureString) |
Initierar en ny instans av klassen med hjälp av CspParameters en providertyp, ett providernamn, ett containernamn, åtkomstinformation och ett lösenord som är associerat med en smartkortsnyckel. |
| CspParameters(Int32, String, String) |
Initierar en ny instans av CspParameters klassen med den angivna providertypkoden och namnet och det angivna containernamnet. |
| CspParameters(Int32, String) |
Initierar en ny instans av CspParameters klassen med den angivna providertypkoden och namnet. |
| CspParameters(Int32) |
Initierar en ny instans av CspParameters klassen med den angivna providertypkoden. |
Fält
| Name | Description |
|---|---|
| KeyContainerName |
Representerar namnet på nyckelcontainern för CspParameters. |
| KeyNumber |
Anger om en asymmetrisk nyckel skapas som en signaturnyckel eller en exchange-nyckel. |
| ProviderName |
Representerar providernamnet för CspParameters. |
| ProviderType |
Representerar providertypkoden för CspParameters. |
Egenskaper
| Name | Description |
|---|---|
| CryptoKeySecurity |
Hämtar eller anger ett CryptoKeySecurity objekt som representerar åtkomsträttigheter och granskningsregler för en container. |
| Flags |
Representerar flaggorna för som ändrar beteendet för CspParameters den kryptografiska tjänstleverantören (CSP). |
| KeyPassword |
Hämtar eller anger ett lösenord som är associerat med en smartkortsnyckel. |
| ParentWindowHandle |
Hämtar eller anger ett handtag till det ohanterade överordnade fönstret för en dialogruta för lösenord för smartkort. |
Metoder
| Name | Description |
|---|---|
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |