dotgnu-pnet-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Dotgnu-pnet-commits] CVS: pnetlib/runtime/System/Security/Cryptography


From: Rhys Weatherley <address@hidden>
Subject: [Dotgnu-pnet-commits] CVS: pnetlib/runtime/System/Security/Cryptography AsymmetricKeyExchangeDeformatter.cs,1.1,1.2 AsymmetricKeyExchangeFormatter.cs,1.2,1.3 AsymmetricSignatureDeformatter.cs,1.1,1.2 AsymmetricSignatureFormatter.cs,1.1,1.2 CryptoAPITransform.cs,1.7,1.8 CryptoStream.cs,1.3,1.4 DSA.cs,1.2,1.3 DSACryptoServiceProvider.cs,1.4,1.5 FromBase64Transform.cs,1.3,1.4 HashAlgorithm.cs,1.4,1.5 ICryptoTransform.cs,1.1,1.2 KeySizes.cs,1.1,1.2 MD5CryptoServiceProvider.cs,1.2,1.3 RC2.cs,1.1,1.2 RC2CryptoServiceProvider.cs,1.2,1.3RNGCryptoServiceProvider.cs,1.1,1.2 RSACryptoServiceProvider.cs,1.5,1.6RSAOAEPKeyExchangeFormatter.cs,1.2,1.3 RSAPKCS1KeyExchangeDeformatter.cs,1.2,1.3 SignatureDescription.cs,1.1,1.2 ToBase64Transform.cs,1.2,1.3
Date: Wed, 23 Apr 2003 01:39:54 -0400

Update of /cvsroot/dotgnu-pnet/pnetlib/runtime/System/Security/Cryptography
In directory subversions:/tmp/cvs-serv9550/runtime/System/Security/Cryptography

Modified Files:
        AsymmetricKeyExchangeDeformatter.cs 
        AsymmetricKeyExchangeFormatter.cs 
        AsymmetricSignatureDeformatter.cs 
        AsymmetricSignatureFormatter.cs CryptoAPITransform.cs 
        CryptoStream.cs DSA.cs DSACryptoServiceProvider.cs 
        FromBase64Transform.cs HashAlgorithm.cs ICryptoTransform.cs 
        KeySizes.cs MD5CryptoServiceProvider.cs RC2.cs 
        RC2CryptoServiceProvider.cs RNGCryptoServiceProvider.cs 
        RSACryptoServiceProvider.cs RSAOAEPKeyExchangeFormatter.cs 
        RSAPKCS1KeyExchangeDeformatter.cs SignatureDescription.cs 
        ToBase64Transform.cs 
Log Message:


Minor tweaks to a lot of classes to make them more signature compatible
with .NET Framework SDK 1.1.


Index: AsymmetricKeyExchangeDeformatter.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Security/Cryptography/AsymmetricKeyExchangeDeformatter.cs,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** AsymmetricKeyExchangeDeformatter.cs 6 Jul 2002 03:14:26 -0000       1.1
--- AsymmetricKeyExchangeDeformatter.cs 23 Apr 2003 05:39:50 -0000      1.2
***************
*** 29,32 ****
--- 29,34 ----
  public abstract class AsymmetricKeyExchangeDeformatter
  {
+       // Constructor.
+       public AsymmetricKeyExchangeDeformatter() {}
  
        // Get or set the key exchange parameters.

Index: AsymmetricKeyExchangeFormatter.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Security/Cryptography/AsymmetricKeyExchangeFormatter.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** AsymmetricKeyExchangeFormatter.cs   11 Jul 2002 02:39:15 -0000      1.2
--- AsymmetricKeyExchangeFormatter.cs   23 Apr 2003 05:39:50 -0000      1.3
***************
*** 29,32 ****
--- 29,34 ----
  public abstract class AsymmetricKeyExchangeFormatter
  {
+       // Constructor.
+       public AsymmetricKeyExchangeFormatter() {}
  
        // Get the key exchange parameters.

Index: AsymmetricSignatureDeformatter.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Security/Cryptography/AsymmetricSignatureDeformatter.cs,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** AsymmetricSignatureDeformatter.cs   6 Jul 2002 03:14:26 -0000       1.1
--- AsymmetricSignatureDeformatter.cs   23 Apr 2003 05:39:50 -0000      1.2
***************
*** 29,32 ****
--- 29,34 ----
  public abstract class AsymmetricSignatureDeformatter
  {
+       // Constructor.
+       public AsymmetricSignatureDeformatter() {}
  
        // Set the hash algorithm.

Index: AsymmetricSignatureFormatter.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Security/Cryptography/AsymmetricSignatureFormatter.cs,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** AsymmetricSignatureFormatter.cs     6 Jul 2002 03:14:26 -0000       1.1
--- AsymmetricSignatureFormatter.cs     23 Apr 2003 05:39:50 -0000      1.2
***************
*** 29,32 ****
--- 29,34 ----
  public abstract class AsymmetricSignatureFormatter
  {
+       // Constructor.
+       public AsymmetricSignatureFormatter() {}
  
        // Set the hash algorithm.

Index: CryptoAPITransform.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Security/Cryptography/CryptoAPITransform.cs,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -r1.7 -r1.8
*** CryptoAPITransform.cs       14 Apr 2003 10:50:55 -0000      1.7
--- CryptoAPITransform.cs       23 Apr 2003 05:39:50 -0000      1.8
***************
*** 3,7 ****
   *            "System.Security.Cryptography.CryptoAPITransform" class.
   *
!  * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *            "System.Security.Cryptography.CryptoAPITransform" class.
   *
!  * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 234,237 ****
--- 234,246 ----
                                        // Usually not sensitive, but let's be 
paranoid anyway.
                                        Array.Clear(iv, 0, iv.Length);
+                               }
+                       }
+ 
+       // Determine if we can reuse this transform object.
+       public bool CanReuseTransform
+                       {
+                               get
+                               {
+                                       return true;
                                }
                        }

Index: CryptoStream.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Security/Cryptography/CryptoStream.cs,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** CryptoStream.cs     14 Apr 2003 10:50:55 -0000      1.3
--- CryptoStream.cs     23 Apr 2003 05:39:50 -0000      1.4
***************
*** 3,7 ****
   *            "System.Security.Cryptography.CryptoStream" class.
   *
!  * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *            "System.Security.Cryptography.CryptoStream" class.
   *
!  * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 165,173 ****
                                        Array.Clear(outBuffer, 0, 
outBuffer.Length);
                                }
!                               if(transform != null && transform is 
IDisposable)
                                {
!                                       ((IDisposable)transform).Dispose();
                                }
-                               transform = null;
                        }
  
--- 165,173 ----
                                        Array.Clear(outBuffer, 0, 
outBuffer.Length);
                                }
!                               if(transform != null)
                                {
!                                       transform.Dispose();
!                                       transform = null;
                                }
                        }
  

Index: DSA.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Security/Cryptography/DSA.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** DSA.cs      11 Jul 2002 02:39:15 -0000      1.2
--- DSA.cs      23 Apr 2003 05:39:50 -0000      1.3
***************
*** 30,33 ****
--- 30,35 ----
  public abstract class DSA : AsymmetricAlgorithm
  {
+       // Constructor.
+       internal DSA() {}
  
        // Create an instance of the default DSA implementation.

Index: DSACryptoServiceProvider.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Security/Cryptography/DSACryptoServiceProvider.cs,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** DSACryptoServiceProvider.cs 14 Apr 2003 10:50:55 -0000      1.4
--- DSACryptoServiceProvider.cs 23 Apr 2003 05:39:50 -0000      1.5
***************
*** 3,7 ****
   *            "System.Security.Cryptography.DSACryptoServiceProvider" class.
   *
!  * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *            "System.Security.Cryptography.DSACryptoServiceProvider" class.
   *
!  * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 38,45 ****
  // Source Code in C", Bruce Schneier, John Wiley & Sons, Inc, 1996.
  
! public class DSACryptoServiceProvider : DSA
  {
        // Internal state.
        private bool persistKey;
        private DSAParameters dsaParams;
  
--- 38,46 ----
  // Source Code in C", Bruce Schneier, John Wiley & Sons, Inc, 1996.
  
! public sealed class DSACryptoServiceProvider : DSA
  {
        // Internal state.
        private bool persistKey;
+       private static bool useMachineKeyStore;
        private DSAParameters dsaParams;
  
***************
*** 169,172 ****
--- 170,186 ----
                                        // W3C identifier for the DSA-SHA1 
algorithm.
                                        return 
"http://www.w3.org/2000/09/xmldsig#dsa-sha1";;
+                               }
+                       }
+ 
+       // Determine if we should use the machine key store.
+       public static bool UseMachineKeyStore
+                       {
+                               get
+                               {
+                                       return useMachineKeyStore;
+                               }
+                               set
+                               {
+                                       useMachineKeyStore = value;
                                }
                        }

Index: FromBase64Transform.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Security/Cryptography/FromBase64Transform.cs,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** FromBase64Transform.cs      14 Apr 2003 10:50:55 -0000      1.3
--- FromBase64Transform.cs      23 Apr 2003 05:39:50 -0000      1.4
***************
*** 3,7 ****
   *            "System.Security.Cryptography.FromBase64Transform" class.
   *
!  * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *            "System.Security.Cryptography.FromBase64Transform" class.
   *
!  * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 50,53 ****
--- 50,62 ----
                        {
                                Dispose(false);
+                       }
+ 
+       // Determine if we can reuse this transform object.
+       public virtual bool CanReuseTransform
+                       {
+                               get
+                               {
+                                       return true;
+                               }
                        }
  

Index: HashAlgorithm.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Security/Cryptography/HashAlgorithm.cs,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** HashAlgorithm.cs    14 Apr 2003 10:50:55 -0000      1.4
--- HashAlgorithm.cs    23 Apr 2003 05:39:50 -0000      1.5
***************
*** 3,7 ****
   *            "System.Security.Cryptography.HashAlgorithm" class.
   *
!  * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *            "System.Security.Cryptography.HashAlgorithm" class.
   *
!  * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 48,51 ****
--- 48,60 ----
                                return (HashAlgorithm)
                                        (CryptoConfig.CreateFromName(hashName, 
null));
+                       }
+ 
+       // Determine if we can reuse this transform object.
+       public virtual bool CanReuseTransform
+                       {
+                               get
+                               {
+                                       return true;
+                               }
                        }
  

Index: ICryptoTransform.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Security/Cryptography/ICryptoTransform.cs,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** ICryptoTransform.cs 6 Jul 2002 03:14:26 -0000       1.1
--- ICryptoTransform.cs 23 Apr 2003 05:39:50 -0000      1.2
***************
*** 3,7 ****
   *            "System.Security.Cryptography.ICryptoTransform" interface.
   *
!  * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *            "System.Security.Cryptography.ICryptoTransform" interface.
   *
!  * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 27,32 ****
  using System;
  
! public interface ICryptoTransform
  {
  
        // Determine if multiple blocks can be transformed.
--- 27,35 ----
  using System;
  
! public interface ICryptoTransform : IDisposable
  {
+ 
+       // Determine if we can reuse this transform object.
+       bool CanReuseTransform { get; }
  
        // Determine if multiple blocks can be transformed.

Index: KeySizes.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Security/Cryptography/KeySizes.cs,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** KeySizes.cs 6 Jul 2002 03:14:26 -0000       1.1
--- KeySizes.cs 23 Apr 2003 05:39:50 -0000      1.2
***************
*** 27,31 ****
  using System;
  
! public class KeySizes
  {
        // Internal state.
--- 27,31 ----
  using System;
  
! public sealed class KeySizes
  {
        // Internal state.

Index: MD5CryptoServiceProvider.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Security/Cryptography/MD5CryptoServiceProvider.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** MD5CryptoServiceProvider.cs 26 Nov 2002 11:50:00 -0000      1.2
--- MD5CryptoServiceProvider.cs 23 Apr 2003 05:39:50 -0000      1.3
***************
*** 28,32 ****
  using Platform;
  
! public class MD5CryptoServiceProvider : MD5
  {
        // Internal state from the runtime engine.
--- 28,32 ----
  using Platform;
  
! public sealed class MD5CryptoServiceProvider : MD5
  {
        // Internal state from the runtime engine.

Index: RC2.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Security/Cryptography/RC2.cs,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** RC2.cs      6 Jul 2002 07:03:07 -0000       1.1
--- RC2.cs      23 Apr 2003 05:39:50 -0000      1.2
***************
*** 2,6 ****
   * RC2.cs - Implementation of the "System.Security.Cryptography.RC2" class.
   *
!  * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 2,6 ----
   * RC2.cs - Implementation of the "System.Security.Cryptography.RC2" class.
   *
!  * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 28,31 ****
--- 28,33 ----
  public abstract class RC2 : SymmetricAlgorithm
  {
+       // Internal state.
+       protected int EffectiveKeySizeValue;
  
        // Constructor.
***************
*** 51,54 ****
--- 53,105 ----
                        {
                                return 
(RC2)(CryptoConfig.CreateFromName(algName, null));
+                       }
+ 
+       // Get or set the effective key size.
+       public virtual int EffectiveKeySize
+                       {
+                               get
+                               {
+                                       if(EffectiveKeySize != 0)
+                                       {
+                                               return EffectiveKeySize;
+                                       }
+                                       else
+                                       {
+                                               return KeySizeValue;
+                                       }
+                               }
+                               set
+                               {
+                                       if(value == 0)
+                                       {
+                                               // Reset the effective key size 
to the real key size.
+                                               EffectiveKeySizeValue = 0;
+                                       }
+                                       else if(value < 40 || value > 
KeySizeValue)
+                                       {
+                                               // Invalid effective key size.
+                                               throw new CryptographicException
+                                                       
(_("Crypto_InvalidKeySize"), value.ToString());
+                                       }
+                                       EffectiveKeySizeValue = value;
+                               }
+                       }
+ 
+       // Get or set the real key size.
+       public override int KeySize
+                       {
+                               get
+                               {
+                                       return KeySizeValue;
+                               }
+                               set
+                               {
+                                       if(value < EffectiveKeySizeValue)
+                                       {
+                                               throw new CryptographicException
+                                                       
(_("Crypto_InvalidKeySize"), value.ToString());
+                                       }
+                                       base.KeySize = value;
+                               }
                        }
  

Index: RC2CryptoServiceProvider.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Security/Cryptography/RC2CryptoServiceProvider.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** RC2CryptoServiceProvider.cs 14 Apr 2003 10:50:55 -0000      1.2
--- RC2CryptoServiceProvider.cs 23 Apr 2003 05:39:50 -0000      1.3
***************
*** 3,7 ****
   *            "System.Security.Cryptography.RC2CryptoServiceProvider" class.
   *
!  * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *            "System.Security.Cryptography.RC2CryptoServiceProvider" class.
   *
!  * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 82,85 ****
--- 82,104 ----
                                }
                                KeyValue = key;
+                       }
+ 
+       // Get or set the effective key size.
+       public override int EffectiveKeySize
+                       {
+                               get
+                               {
+                                       return KeySizeValue;
+                               }
+                               set
+                               {
+                                       // We cannot change the effective key 
size for
+                                       // the RC2CryptoServiceProvider 
implementation.
+                                       if(value != KeySizeValue)
+                                       {
+                                               throw new CryptographicException
+                                                       
(_("Crypto_InvalidKeySize"), value.ToString());
+                                       }
+                               }
                        }
  

Index: RNGCryptoServiceProvider.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Security/Cryptography/RNGCryptoServiceProvider.cs,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** RNGCryptoServiceProvider.cs 7 Jul 2002 11:46:32 -0000       1.1
--- RNGCryptoServiceProvider.cs 23 Apr 2003 05:39:50 -0000      1.2
***************
*** 28,32 ****
  using Platform;
  
! public class RNGCryptoServiceProvider : RandomNumberGenerator
  {
        // Constructors.  We ignore the supplied parameters, and use
--- 28,32 ----
  using Platform;
  
! public sealed class RNGCryptoServiceProvider : RandomNumberGenerator
  {
        // Constructors.  We ignore the supplied parameters, and use

Index: RSACryptoServiceProvider.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Security/Cryptography/RSACryptoServiceProvider.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** RSACryptoServiceProvider.cs 14 Apr 2003 10:50:55 -0000      1.5
--- RSACryptoServiceProvider.cs 23 Apr 2003 05:39:50 -0000      1.6
***************
*** 37,44 ****
  // available from "http://www.rsa.com/";.
  
! public class RSACryptoServiceProvider : RSA
  {
        // Internal state.
        private bool persistKey;
        private RSAParameters rsaParams;
  
--- 37,45 ----
  // available from "http://www.rsa.com/";.
  
! public sealed class RSACryptoServiceProvider : RSA
  {
        // Internal state.
        private bool persistKey;
+       private static bool useMachineKeyStore;
        private RSAParameters rsaParams;
  
***************
*** 148,151 ****
--- 149,165 ----
                        }
  
+       // Determine if we should use the machine key store.
+       public static bool UseMachineKeyStore
+                       {
+                               get
+                               {
+                                       return useMachineKeyStore;
+                               }
+                               set
+                               {
+                                       useMachineKeyStore = value;
+                               }
+                       }
+ 
        // Apply the public key to a value.
        private byte[] ApplyPublic(byte[] value)
***************
*** 411,415 ****
        // Encrypt a value using a specified OAEP padding array.
        // The array may be null to pad with zeroes.
!       internal byte[] EncryptOAEP(byte[] rgb, byte[] padding)
                        {
                                // Check the data against null.
--- 425,430 ----
        // Encrypt a value using a specified OAEP padding array.
        // The array may be null to pad with zeroes.
!       internal byte[] EncryptOAEP(byte[] rgb, byte[] padding,
!                                                               
RandomNumberGenerator rng)
                        {
                                // Check the data against null.
***************
*** 458,462 ****
                                // Generate a random seed to use to generate 
masks.
                                byte[] seed = new byte [20];
!                               CryptoMethods.GenerateRandom(seed, 0, 20);
  
                                // Generate a mask and encrypt the above 
message.
--- 473,477 ----
                                // Generate a random seed to use to generate 
masks.
                                byte[] seed = new byte [20];
!                               rng.GetBytes(seed);
  
                                // Generate a mask and encrypt the above 
message.
***************
*** 540,544 ****
                                if(fOAEP)
                                {
!                                       return EncryptOAEP(rgb, null);
                                }
                                else
--- 555,560 ----
                                if(fOAEP)
                                {
!                                       return EncryptOAEP
!                                               (rgb, null, new 
RNGCryptoServiceProvider());
                                }
                                else

Index: RSAOAEPKeyExchangeFormatter.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Security/Cryptography/RSAOAEPKeyExchangeFormatter.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** RSAOAEPKeyExchangeFormatter.cs      17 Jul 2002 04:08:45 -0000      1.2
--- RSAOAEPKeyExchangeFormatter.cs      23 Apr 2003 05:39:50 -0000      1.3
***************
*** 32,35 ****
--- 32,36 ----
        private RSACryptoServiceProvider keyContainer;
        private byte[] padding;
+       private RandomNumberGenerator rng;
  
        // Constructors.
***************
*** 80,83 ****
--- 81,97 ----
                        }
  
+       // Get or set the random number generator to be used.
+       public RandomNumberGenerator Rng
+                       {
+                               get
+                               {
+                                       return rng;
+                               }
+                               set
+                               {
+                                       rng = value;
+                               }
+                       }
+ 
        // Create key exchange material from key data.
        public override byte[] CreateKeyExchange(byte[] data)
***************
*** 88,92 ****
                                                (_("Crypto_MissingKey"));
                                }
!                               return keyContainer.EncryptOAEP(data, padding);
                        }
        public override byte[] CreateKeyExchange(byte[] data, Type symAlgType)
--- 102,110 ----
                                                (_("Crypto_MissingKey"));
                                }
!                               if(rng == null)
!                               {
!                                       rng = new RNGCryptoServiceProvider();
!                               }
!                               return keyContainer.EncryptOAEP(data, padding, 
rng);
                        }
        public override byte[] CreateKeyExchange(byte[] data, Type symAlgType)

Index: RSAPKCS1KeyExchangeDeformatter.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Security/Cryptography/RSAPKCS1KeyExchangeDeformatter.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** RSAPKCS1KeyExchangeDeformatter.cs   17 Jul 2002 04:08:45 -0000      1.2
--- RSAPKCS1KeyExchangeDeformatter.cs   23 Apr 2003 05:39:50 -0000      1.3
***************
*** 32,35 ****
--- 32,36 ----
        // Internal state.
        private RSACryptoServiceProvider keyContainer;
+       private RandomNumberGenerator rng;
  
        // Constructors.
***************
*** 54,57 ****
--- 55,71 ----
                                {
                                        // PKCS1 does not have any parameters.
+                               }
+                       }
+ 
+       // Get or set the random number generator to be used.
+       public RandomNumberGenerator RNG
+                       {
+                               get
+                               {
+                                       return rng;
+                               }
+                               set
+                               {
+                                       rng = value;
                                }
                        }

Index: SignatureDescription.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Security/Cryptography/SignatureDescription.cs,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** SignatureDescription.cs     12 Jul 2002 06:28:32 -0000      1.1
--- SignatureDescription.cs     23 Apr 2003 05:39:50 -0000      1.2
***************
*** 36,39 ****
--- 36,43 ----
  
        // Constructor.
+       public SignatureDescription()
+                       {
+                               // Nothing to do here.
+                       }
        public SignatureDescription(SecurityElement el)
                        {

Index: ToBase64Transform.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Security/Cryptography/ToBase64Transform.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** ToBase64Transform.cs        26 Nov 2002 11:50:00 -0000      1.2
--- ToBase64Transform.cs        23 Apr 2003 05:39:50 -0000      1.3
***************
*** 3,7 ****
   *            "System.Security.Cryptography.ToBase64Transform" class.
   *
!  * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *            "System.Security.Cryptography.ToBase64Transform" class.
   *
!  * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 36,39 ****
--- 36,48 ----
                        {
                                Dispose(false);
+                       }
+ 
+       // Determine if we can reuse this transform object.
+       public virtual bool CanReuseTransform
+                       {
+                               get
+                               {
+                                       return true;
+                               }
                        }
  





reply via email to

[Prev in Thread] Current Thread [Next in Thread]