//\r
-// System.Security.Cryptography CspParameters.cs\r
+// System.Security.Cryptography.CspParameters.cs\r
//\r
// Authors:\r
// Thomas Neidhart (tome@sbox.tugraz.at)\r
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
using System.Runtime.InteropServices;
using System.Security.AccessControl;
-#endif
\r
namespace System.Security.Cryptography {\r
\r
-#if NET_2_0
[ComVisible (true)]
-#endif
public sealed class CspParameters {
\r
private CspProviderFlags _Flags;\r
// not defined in specs, only tested from M$ impl\r
KeyNumber = -1;\r
}\r
- \r
+\r
public string KeyContainerName;\r
\r
public int KeyNumber;\r
set { _Flags = value; }\r
}
-#if NET_2_0
private SecureString _password;
private IntPtr _windowHandle;
- public CspParameters (int dwTypeIn, string strProviderNameIn, string strContainerNameIn,
+ public CspParameters (int providerType, string providerName, string keyContainerName,
CryptoKeySecurity cryptoKeySecurity, IntPtr parentWindowHandle)
- : this (dwTypeIn, strProviderNameIn, strContainerNameIn)
+ : this (providerType, providerName, keyContainerName)
{
if (cryptoKeySecurity != null)
CryptoKeySecurity = cryptoKeySecurity;
_windowHandle = parentWindowHandle;
}
- public CspParameters (int dwTypeIn, string strProviderNameIn, string strContainerNameIn,
+ public CspParameters (int providerType, string providerName, string keyContainerName,
CryptoKeySecurity cryptoKeySecurity, SecureString keyPassword)
- : this (dwTypeIn, strProviderNameIn, strContainerNameIn)
+ : this (providerType, providerName, keyContainerName)
{
if (cryptoKeySecurity != null)
CryptoKeySecurity = cryptoKeySecurity;
_password = keyPassword;
- }
+ }\r
+\r
+ internal CspParameters(CspParameters parameters)\r
+ : this(parameters.ProviderType, parameters.ProviderName, parameters.KeyContainerName)\r
+ {\r
+ if (parameters.CryptoKeySecurity != null)\r
+ CryptoKeySecurity = parameters.CryptoKeySecurity;\r
+\r
+ _Flags = parameters.Flags;\r
+ KeyNumber = parameters.KeyNumber;\r
+ _password = parameters.KeyPassword;\r
+ _windowHandle = parameters.ParentWindowHandle;\r
+ }\r
[MonoTODO ("access control isn't implemented")]
public CryptoKeySecurity CryptoKeySecurity {
get { return _windowHandle; }
set { _windowHandle = value; }
}
-#endif\r
}\r
}\r