DSACryptoServiceProvider.PersistKeyInCsp-Eigenschaft
Ruft einen Wert ab, der angibt, ob der Schlüssel im Kryptografiedienstanbieter (Cryptographic Service Provider, CSP) beibehalten werden soll, oder legt diesen fest.
Namespace: System.Security.Cryptography
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Property PersistKeyInCsp As Boolean
'Usage
Dim instance As DSACryptoServiceProvider
Dim value As Boolean
value = instance.PersistKeyInCsp
instance.PersistKeyInCsp = value
public bool PersistKeyInCsp { get; set; }
public:
property bool PersistKeyInCsp {
bool get ();
void set (bool value);
}
/** @property */
public boolean get_PersistKeyInCsp ()
/** @property */
public void set_PersistKeyInCsp (boolean value)
public function get PersistKeyInCsp () : boolean
public function set PersistKeyInCsp (value : boolean)
Eigenschaftenwert
true, wenn der Schlüssel im Kryptografiedienstanbieter beibehalten werden soll, andernfalls false.
Hinweise
Verwenden Sie diese Eigenschaft, wenn ein Schlüssel in einem Schlüsselcontainer beibehalten werden soll.
Beispiel
Im folgenden Codebeispiel wird eine Instanz von DSACryptoServiceProvider erstellt. Der Schlüssel wird in einem Schlüsselcontainer beibehalten und dann gelöscht.
Imports System.Security.Cryptography
Module DSACSPExample
Sub Main()
Dim KeyContainerName As String = "MyKeyContainer"
'Create a new key and persist it in
'the key container.
DSAPersistKeyInCSP(KeyContainerName)
'Delete the key from the key container.
DSADeleteKeyInCSP(KeyContainerName)
End Sub
Sub DSAPersistKeyInCSP(ByVal ContainerName As String)
Try
' Create a new instance of CspParameters. Pass
' 13 to specify a DSA container or 1 to specify
' an DSA container. The default is 1.
Dim cspParams As New CspParameters
' Specify the container name using the passed variable.
cspParams.KeyContainerName = ContainerName
'Create a new instance of DSACryptoServiceProvider to generate
'a new key pair. Pass the CspParameters class to persist the
'key in the container. The PersistKeyInCsp property is True by
'default, allowing the key to be persisted.
Dim DSAalg As New DSACryptoServiceProvider(cspParams)
'Indicate that the key was persisted.
Console.WriteLine("The DSA key was persisted in the container, ""{0}"".", ContainerName)
Catch e As CryptographicException
Console.WriteLine(e.Message)
End Try
End Sub
Sub DSADeleteKeyInCSP(ByVal ContainerName As String)
Try
' Create a new instance of CspParameters. Pass
' 13 to specify a DSA container or 1 to specify
' an DSA container. The default is 1.
Dim cspParams As New CspParameters
' Specify the container name using the passed variable.
cspParams.KeyContainerName = ContainerName
'Create a new instance of DSACryptoServiceProvider.
'Pass the CspParameters class to use the
'key in the container.
Dim DSAalg As New DSACryptoServiceProvider(cspParams)
'Explicitly set the PersistKeyInCsp property to False
'to delete the key entry in the container.
DSAalg.PersistKeyInCsp = False
'Call Clear to release resources and delete the key from the container.
DSAalg.Clear()
'Indicate that the key was persisted.
Console.WriteLine("The DSA key was deleted from the container, ""{0}"".", ContainerName)
Catch e As CryptographicException
Console.WriteLine(e.Message)
End Try
End Sub
End Module
using System;
using System.Security.Cryptography;
class DSACSPSample
{
static void Main()
{
string KeyContainerName = "MyKeyContainer";
//Create a new key and persist it in
//the key container.
DSAPersistKeyInCSP(KeyContainerName);
//Delete the key from the key container.
DSADeleteKeyInCSP(KeyContainerName);
}
public static void DSAPersistKeyInCSP(string ContainerName)
{
try
{
// Create a new instance of CspParameters. Pass
// 13 to specify a DSA container or 1 to specify
// an DSA container. The default is 1.
CspParameters cspParams = new CspParameters();
// Specify the container name using the passed variable.
cspParams.KeyContainerName = ContainerName;
//Create a new instance of DSACryptoServiceProvider to generate
//a new key pair. Pass the CspParameters class to persist the
//key in the container. The PersistKeyInCsp property is true by
//default, allowing the key to be persisted.
DSACryptoServiceProvider DSAalg = new DSACryptoServiceProvider(cspParams);
//Indicate that the key was persisted.
Console.WriteLine("The DSA key was persisted in the container, \"{0}\".", ContainerName);
}
catch(CryptographicException e)
{
Console.WriteLine(e.Message);
}
}
public static void DSADeleteKeyInCSP(string ContainerName)
{
try
{
// Create a new instance of CspParameters. Pass
// 13 to specify a DSA container or 1 to specify
// an DSA container. The default is 1.
CspParameters cspParams = new CspParameters();
// Specify the container name using the passed variable.
cspParams.KeyContainerName = ContainerName;
//Create a new instance of DSACryptoServiceProvider.
//Pass the CspParameters class to use the
//key in the container.
DSACryptoServiceProvider DSAalg = new DSACryptoServiceProvider(cspParams);
//Explicitly set the PersistKeyInCsp property to false
//to delete the key entry in the container.
DSAalg.PersistKeyInCsp = false;
//Call Clear to release resources and delete the key from the container.
DSAalg.Clear();
//Indicate that the key was persisted.
Console.WriteLine("The DSA key was deleted from the container, \"{0}\".", ContainerName);
}
catch(CryptographicException e)
{
Console.WriteLine(e.Message);
}
}
}
using namespace System;
using namespace System::Security::Cryptography;
void DSAPersistKeyInCSP( String^ ContainerName )
{
try
{
// Create a new instance of CspParameters. Pass
// 13 to specify a DSA container or 1 to specify
// an DSA container. The default is 1.
CspParameters^ cspParams = gcnew CspParameters;
// Specify the container name using the passed variable.
cspParams->KeyContainerName = ContainerName;
//Create a new instance of DSACryptoServiceProvider to generate
//a new key pair. Pass the CspParameters class to persist the
//key in the container. The PersistKeyInCsp property is true by
//default, allowing the key to be persisted.
DSACryptoServiceProvider^ DSAalg = gcnew DSACryptoServiceProvider( cspParams );
//Indicate that the key was persisted.
Console::WriteLine( "The DSA key was persisted in the container, \"{0}\".", ContainerName );
}
catch ( CryptographicException^ e )
{
Console::WriteLine( e->Message );
}
}
void DSADeleteKeyInCSP( String^ ContainerName )
{
try
{
// Create a new instance of CspParameters. Pass
// 13 to specify a DSA container or 1 to specify
// an DSA container. The default is 1.
CspParameters^ cspParams = gcnew CspParameters;
// Specify the container name using the passed variable.
cspParams->KeyContainerName = ContainerName;
//Create a new instance of DSACryptoServiceProvider.
//Pass the CspParameters class to use the
//key in the container.
DSACryptoServiceProvider^ DSAalg = gcnew DSACryptoServiceProvider( cspParams );
//Explicitly set the PersistKeyInCsp property to false
//to delete the key entry in the container.
DSAalg->PersistKeyInCsp = false;
//Call Clear to release resources and delete the key from the container.
DSAalg->Clear();
//Indicate that the key was persisted.
Console::WriteLine( "The DSA key was deleted from the container, \"{0}\".", ContainerName );
}
catch ( CryptographicException^ e )
{
Console::WriteLine( e->Message );
}
}
int main()
{
String^ KeyContainerName = "MyKeyContainer";
//Create a new key and persist it in
//the key container.
DSAPersistKeyInCSP( KeyContainerName );
//Delete the key from the key container.
DSADeleteKeyInCSP( KeyContainerName );
}
import System.*;
import System.Security.Cryptography.*;
class DSACSPSample
{
public static void main(String args[])
{
String keyContainerName = "MyKeyContainer";
//Create a new key and persist it in
//the key container.
DSAPersistKeyInCSP(keyContainerName);
//Delete the key from the key container.
DSADeleteKeyInCSP(keyContainerName);
} //main
public static void DSAPersistKeyInCSP(String containerName)
{
try {
// Create a new instance of CspParameters. Pass
// 13 to specify a DSA container or 1 to specify
// an DSA container. The default is 1.
CspParameters cspParams = new CspParameters();
// Specify the container name using the passed variable.
cspParams.KeyContainerName = containerName;
//Create a new instance of DSACryptoServiceProvider to generate
//a new key pair. Pass the CspParameters class to persist the
//key in the container. The PersistKeyInCsp property is true by
//default, allowing the key to be persisted.
DSACryptoServiceProvider dsaAlg =
new DSACryptoServiceProvider(cspParams);
//Indicate that the key was persisted.
Console.WriteLine("The DSA key was persisted in the container, "
+ "\"{0}\".", containerName);
}
catch (CryptographicException e) {
Console.WriteLine(e.get_Message());
}
} //DSAPersistKeyInCSP
public static void DSADeleteKeyInCSP(String containerName)
{
try {
// Create a new instance of CspParameters. Pass
// 13 to specify a DSA container or 1 to specify
// an DSA container. The default is 1.
CspParameters cspParams = new CspParameters();
// Specify the container name using the passed variable.
cspParams.KeyContainerName = containerName;
//Create a new instance of DSACryptoServiceProvider.
//Pass the CspParameters class to use the
//key in the container.
DSACryptoServiceProvider dsaAlg =
new DSACryptoServiceProvider(cspParams);
//Explicitly set the PersistKeyInCsp property to false
//to delete the key entry in the container.
dsaAlg.set_PersistKeyInCsp(false);
//Call Clear to release resources and delete the key from the
//container.
dsaAlg.Clear();
//Indicate that the key was persisted.
Console.WriteLine("The DSA key was deleted from the container, "
+ "\"{0}\".", containerName);
}
catch (CryptographicException e) {
Console.WriteLine(e.get_Message());
}
} //DSADeleteKeyInCSP
} //DSACSPSample
.NET Framework-Sicherheit
- KeyContainerPermission für die Berechtigung zum Löschen eines Schlüssels. Zugeordnete Enumeration: Delete. Sicherheitsaktion: Demand. – oder – für die Berechtigung zum Erstellen eines Schlüssels. Zugeordnete Enumeration: Create. Sicherheitsaktion: Demand.
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0
Siehe auch
Referenz
DSACryptoServiceProvider-Klasse
DSACryptoServiceProvider-Member
System.Security.Cryptography-Namespace