Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobody <nobody@localhost>2002-08-21 14:08:33 +0400
committernobody <nobody@localhost>2002-08-21 14:08:33 +0400
commit4e4824afab6cd0f9f0d71aa6baeddb7bee74f8c4 (patch)
tree4f2f12d32cc0fbc38f5ae17dd88b54f7f7d4773b /mcs/class/corlib/System.Security.Cryptography/AsymmetricAlgorithm.cs
parent5a04c908e923e4d919c9c0aed1129f8416adb6cc (diff)
This commit was manufactured by cvs2svn to create branch 'SAVANNAH_CVS'.RHYS_20020821
svn path=/branches/SAVANNAH_CVS/mcs/; revision=6844
Diffstat (limited to 'mcs/class/corlib/System.Security.Cryptography/AsymmetricAlgorithm.cs')
-rwxr-xr-xmcs/class/corlib/System.Security.Cryptography/AsymmetricAlgorithm.cs108
1 files changed, 0 insertions, 108 deletions
diff --git a/mcs/class/corlib/System.Security.Cryptography/AsymmetricAlgorithm.cs b/mcs/class/corlib/System.Security.Cryptography/AsymmetricAlgorithm.cs
deleted file mode 100755
index 7910e6e8b8c..00000000000
--- a/mcs/class/corlib/System.Security.Cryptography/AsymmetricAlgorithm.cs
+++ /dev/null
@@ -1,108 +0,0 @@
-//
-// System.Security.Cryptography AsymmetricAlgorithm Class implementation
-//
-// Authors:
-// Thomas Neidhart (tome@sbox.tugraz.at)
-//
-
-using System;
-
-namespace System.Security.Cryptography {
-
- /// <summary>
- /// Abstract base class for all cryptographic asymmetric algorithms.
- /// Available algorithms include:
- /// RSA, DSA
- /// </summary>
- public abstract class AsymmetricAlgorithm {
- protected int KeySizeValue; // The size of the secret key used by the symmetric algorithm in bits.
- protected KeySizes[] LegalKeySizesValue; // Specifies the key sizes that are supported by the symmetric algorithm.
-
- /// <summary>
- /// Called from constructor of derived class.
- /// </summary>
- protected AsymmetricAlgorithm () {
- throw new CryptographicException();
- }
-
- /// <summary>
- /// Gets the key exchange algorithm
- /// </summary>
- public abstract string KeyExchangeAlgorithm {get;}
-
- /// <summary>
- /// Gets or sets the actual key size
- /// </summary>
- public virtual int KeySize {
- get {
- return this.KeySizeValue;
- }
- set {
- if (!IsLegalKeySize(this.LegalKeySizesValue, value))
- throw new CryptographicException("key size not supported by algorithm");
-
- this.KeySizeValue = value;
- }
- }
-
- /// <summary>
- /// Gets all legal key sizes
- /// </summary>
- public virtual KeySizes[] LegalKeySizes {
- get {
- return this.LegalKeySizesValue;
- }
- }
-
- /// <summary>
- /// Gets the signature algorithm
- /// </summary>
- public abstract string SignatureAlgorithm {get;}
-
- /// <summary>
- /// Reconstructs the AsymmetricAlgorithm Object from an XML-string
- /// </summary>
- public abstract void FromXmlString(string xmlString);
-
- /// <summary>
- /// Returns an XML string representation the current AsymmetricAlgorithm object
- /// </summary>
- public abstract string ToXmlString(bool includePrivateParameters);
-
- private bool IsLegalKeySize(KeySizes[] LegalKeys, int Size) {
- foreach (KeySizes LegalKeySize in LegalKeys) {
- for (int i=LegalKeySize.MinSize; i<=LegalKeySize.MaxSize; i+=LegalKeySize.SkipSize) {
- if (i == Size)
- return true;
- }
- }
- return false;
- }
-
- /// <summary>
- /// Checks wether the given keyLength is valid for the current algorithm
- /// </summary>
- /// <param name="bitLength">the given keyLength</param>
- public bool ValidKeySize(int bitLength) {
- return IsLegalKeySize(LegalKeySizesValue, bitLength);
- }
-
- /// <summary>
- /// Creates the default implementation of the default asymmetric algorithm (RSA).
- /// </summary>
- public static AsymmetricAlgorithm Create () {
- return RSA.Create();
- }
-
- /// <summary>
- /// Creates a specific implementation of the given asymmetric algorithm.
- /// </summary>
- /// <param name="algName">the given algorithm</param>
- [MonoTODO]
- public static AsymmetricAlgorithm Create (string algName) {
- // TODO: use reflection to create a new instance of the given algorithm
- return null;
- }
- }
-}
-