Files
2026-06-04 11:42:34 +02:00

178 lines
7.8 KiB
C#

using System;
using System.Runtime.InteropServices;
using System.Security.AccessControl;
namespace System.Security.Cryptography
{
/// <summary>Contains parameters that are passed to the cryptographic service provider (CSP) that performs cryptographic computations. This class cannot be inherited.</summary>
// Token: 0x020004F4 RID: 1268
[ComVisible(true)]
public sealed class CspParameters
{
/// <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.CspParameters" /> class.</summary>
// Token: 0x06002EE6 RID: 12006 RVA: 0x00096BB4 File Offset: 0x00094DB4
public CspParameters()
: this(1)
{
}
/// <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.CspParameters" /> class with the specified provider type code.</summary>
/// <param name="dwTypeIn">A provider type code that specifies the kind of provider to create. </param>
// Token: 0x06002EE7 RID: 12007 RVA: 0x00096BC0 File Offset: 0x00094DC0
public CspParameters(int dwTypeIn)
: this(dwTypeIn, null)
{
}
/// <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.CspParameters" /> class with the specified provider type code and name.</summary>
/// <param name="dwTypeIn">A provider type code that specifies the kind of provider to create.</param>
/// <param name="strProviderNameIn">A provider name. </param>
// Token: 0x06002EE8 RID: 12008 RVA: 0x00096BCC File Offset: 0x00094DCC
public CspParameters(int dwTypeIn, string strProviderNameIn)
: this(dwTypeIn, null, null)
{
}
/// <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.CspParameters" /> class with the specified provider type code and name, and the specified container name.</summary>
/// <param name="dwTypeIn">The provider type code that specifies the kind of provider to create.</param>
/// <param name="strProviderNameIn">A provider name. </param>
/// <param name="strContainerNameIn">A container name. </param>
// Token: 0x06002EE9 RID: 12009 RVA: 0x00096BD8 File Offset: 0x00094DD8
public CspParameters(int dwTypeIn, string strProviderNameIn, string strContainerNameIn)
{
this.ProviderType = dwTypeIn;
this.ProviderName = strProviderNameIn;
this.KeyContainerName = strContainerNameIn;
this.KeyNumber = -1;
}
/// <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.CspParameters" /> class using a provider type, a provider name, a container name, access information, and a handle to an unmanaged smart card password dialog. </summary>
/// <param name="providerType">The provider type code that specifies the kind of provider to create.</param>
/// <param name="providerName">A provider name. </param>
/// <param name="keyContainerName">A container name. </param>
/// <param name="cryptoKeySecurity">A <see cref="T:System.Security.AccessControl.CryptoKeySecurity" /> object that represents access rights and audit rules for the container.</param>
/// <param name="parentWindowHandle">A handle to the parent window for a smart card password dialog.</param>
// Token: 0x06002EEA RID: 12010 RVA: 0x00096C08 File Offset: 0x00094E08
public CspParameters(int providerType, string providerName, string keyContainerName, CryptoKeySecurity cryptoKeySecurity, IntPtr parentWindowHandle)
: this(providerType, providerName, keyContainerName)
{
if (cryptoKeySecurity != null)
{
this.CryptoKeySecurity = cryptoKeySecurity;
}
this._windowHandle = parentWindowHandle;
}
/// <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.CspParameters" /> class using a provider type, a provider name, a container name, access information, and a password associated with a smart card key.</summary>
/// <param name="providerType">The provider type code that specifies the kind of provider to create.</param>
/// <param name="providerName">A provider name. </param>
/// <param name="keyContainerName">A container name. </param>
/// <param name="cryptoKeySecurity">A <see cref="T:System.Security.AccessControl.CryptoKeySecurity" /> object that represents access rights and audit rules for a container. </param>
/// <param name="keyPassword">A password associated with a smart card key.</param>
// Token: 0x06002EEB RID: 12011 RVA: 0x00096C38 File Offset: 0x00094E38
public CspParameters(int providerType, string providerName, string keyContainerName, CryptoKeySecurity cryptoKeySecurity, SecureString keyPassword)
: this(providerType, providerName, keyContainerName)
{
if (cryptoKeySecurity != null)
{
this.CryptoKeySecurity = cryptoKeySecurity;
}
this._password = keyPassword;
}
/// <summary>Represents the flags for <see cref="T:System.Security.Cryptography.CspParameters" /> that modify the behavior of the cryptographic service provider (CSP).</summary>
/// <returns>An enumeration value, or a bitwise combination of enumeration values.</returns>
// Token: 0x17000947 RID: 2375
// (get) Token: 0x06002EEC RID: 12012 RVA: 0x00096C68 File Offset: 0x00094E68
// (set) Token: 0x06002EED RID: 12013 RVA: 0x00096C70 File Offset: 0x00094E70
public CspProviderFlags Flags
{
get
{
return this._Flags;
}
set
{
this._Flags = value;
}
}
/// <summary>Gets or sets a <see cref="T:System.Security.AccessControl.CryptoKeySecurity" /> object that represents access rights and audit rules for a container. </summary>
/// <returns>A <see cref="T:System.Security.AccessControl.CryptoKeySecurity" /> object that represents access rights and audit rules for a container.</returns>
// Token: 0x17000948 RID: 2376
// (get) Token: 0x06002EEE RID: 12014 RVA: 0x00096C7C File Offset: 0x00094E7C
// (set) Token: 0x06002EEF RID: 12015 RVA: 0x00096C84 File Offset: 0x00094E84
[MonoTODO("access control isn't implemented")]
public CryptoKeySecurity CryptoKeySecurity
{
get
{
throw new NotImplementedException();
}
set
{
throw new NotImplementedException();
}
}
/// <summary>Gets or sets a password associated with a smart card key. </summary>
/// <returns>A password associated with a smart card key.</returns>
// Token: 0x17000949 RID: 2377
// (get) Token: 0x06002EF0 RID: 12016 RVA: 0x00096C8C File Offset: 0x00094E8C
// (set) Token: 0x06002EF1 RID: 12017 RVA: 0x00096C94 File Offset: 0x00094E94
public SecureString KeyPassword
{
get
{
return this._password;
}
set
{
this._password = value;
}
}
/// <summary>Gets or sets a handle to the unmanaged parent window for a smart card password dialog.</summary>
/// <returns>A handle to the parent window for a smart card password dialog.</returns>
// Token: 0x1700094A RID: 2378
// (get) Token: 0x06002EF2 RID: 12018 RVA: 0x00096CA0 File Offset: 0x00094EA0
// (set) Token: 0x06002EF3 RID: 12019 RVA: 0x00096CA8 File Offset: 0x00094EA8
public IntPtr ParentWindowHandle
{
get
{
return this._windowHandle;
}
set
{
this._windowHandle = value;
}
}
// Token: 0x04001316 RID: 4886
private CspProviderFlags _Flags;
/// <summary>Represents the key container name for <see cref="T:System.Security.Cryptography.CspParameters" />.</summary>
// Token: 0x04001317 RID: 4887
public string KeyContainerName;
/// <summary>Specifies whether an asymmetric key is created as a signature key or an exchange key.</summary>
// Token: 0x04001318 RID: 4888
public int KeyNumber;
/// <summary>Represents the provider name for <see cref="T:System.Security.Cryptography.CspParameters" />.</summary>
// Token: 0x04001319 RID: 4889
public string ProviderName;
/// <summary>Represents the provider type code for <see cref="T:System.Security.Cryptography.CspParameters" />.</summary>
// Token: 0x0400131A RID: 4890
public int ProviderType;
// Token: 0x0400131B RID: 4891
private SecureString _password;
// Token: 0x0400131C RID: 4892
private IntPtr _windowHandle;
}
}