summary refs log tree commit diff
path: root/crypto/src/cms
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/src/cms')
-rw-r--r--crypto/src/cms/CMSSignedDataParser.cs9
-rw-r--r--crypto/src/cms/CMSSignedDataStreamGenerator.cs12
-rw-r--r--crypto/src/cms/CMSSignedGenerator.cs118
-rw-r--r--crypto/src/cms/CMSSignedHelper.cs2
4 files changed, 69 insertions, 72 deletions
diff --git a/crypto/src/cms/CMSSignedDataParser.cs b/crypto/src/cms/CMSSignedDataParser.cs
index 5dffd0d26..fd65576ac 100644
--- a/crypto/src/cms/CMSSignedDataParser.cs
+++ b/crypto/src/cms/CMSSignedDataParser.cs
@@ -1,5 +1,6 @@
 using System;
 using System.Collections;
+using System.Collections.Generic;
 using System.IO;
 
 using Org.BouncyCastle.Asn1;
@@ -62,7 +63,7 @@ namespace Org.BouncyCastle.Cms
 		private DerObjectIdentifier		_signedContentType;
 		private CmsTypedStream          _signedContent;
 		private IDictionary				_digests;
-		private ISet					_digestOids;
+		private HashSet<string>			_digestOids;
 
 		private SignerInformationStore  _signerInfoStore;
 		private Asn1Set                 _certSet, _crlSet;
@@ -106,7 +107,7 @@ namespace Org.BouncyCastle.Cms
 				this._signedContent = signedContent;
 				this._signedData = SignedDataParser.GetInstance(this.contentInfo.GetContent(Asn1Tags.Sequence));
 				this._digests = Platform.CreateHashtable();
-				this._digestOids = new HashSet();
+				this._digestOids = new HashSet<string>();
 
 				Asn1SetParser digAlgs = _signedData.GetDigestAlgorithms();
 				IAsn1Convertible o;
@@ -177,9 +178,9 @@ namespace Org.BouncyCastle.Cms
 			get { return _signedData.Version.IntValueExact; }
 		}
 
-		public ISet DigestOids
+		public ISet<string> DigestOids
 		{
-			get { return new HashSet(_digestOids); }
+			get { return new HashSet<string>(_digestOids); }
 		}
 
 		/**
diff --git a/crypto/src/cms/CMSSignedDataStreamGenerator.cs b/crypto/src/cms/CMSSignedDataStreamGenerator.cs
index c19852884..e247beea0 100644
--- a/crypto/src/cms/CMSSignedDataStreamGenerator.cs
+++ b/crypto/src/cms/CMSSignedDataStreamGenerator.cs
@@ -1,6 +1,6 @@
 using System;
 using System.Collections;
-using System.Diagnostics;
+using System.Collections.Generic;
 using System.IO;
 
 using Org.BouncyCastle.Asn1;
@@ -10,9 +10,7 @@ using Org.BouncyCastle.Crypto;
 using Org.BouncyCastle.Crypto.IO;
 using Org.BouncyCastle.Crypto.Parameters;
 using Org.BouncyCastle.Security;
-using Org.BouncyCastle.Security.Certificates;
 using Org.BouncyCastle.Utilities;
-using Org.BouncyCastle.Utilities.Collections;
 using Org.BouncyCastle.Utilities.IO;
 using Org.BouncyCastle.X509;
 
@@ -43,12 +41,12 @@ namespace Org.BouncyCastle.Cms
     {
 		private static readonly CmsSignedHelper Helper = CmsSignedHelper.Instance;
 
-		private readonly IList      _signerInfs = Platform.CreateArrayList();
-		private readonly ISet		_messageDigestOids = new HashSet();
+		private readonly IList _signerInfs = Platform.CreateArrayList();
+		private readonly HashSet<string> _messageDigestOids = new HashSet<string>();
         private readonly IDictionary _messageDigests = Platform.CreateHashtable();
         private readonly IDictionary _messageHashes = Platform.CreateHashtable();
-		private bool				_messageDigestsLocked;
-        private int					_bufferSize;
+		private bool _messageDigestsLocked;
+        private int _bufferSize;
 
 		private class DigestAndSignerInfoGeneratorHolder
 		{
diff --git a/crypto/src/cms/CMSSignedGenerator.cs b/crypto/src/cms/CMSSignedGenerator.cs
index c1d4e0a46..acd353969 100644
--- a/crypto/src/cms/CMSSignedGenerator.cs
+++ b/crypto/src/cms/CMSSignedGenerator.cs
@@ -26,21 +26,19 @@ namespace Org.BouncyCastle.Cms
     public class DefaultSignatureAlgorithmIdentifierFinder
     {
         private static readonly IDictionary algorithms = Platform.CreateHashtable();
-        private static readonly ISet noParams = new HashSet();
+        private static readonly HashSet<DerObjectIdentifier> noParams = new HashSet<DerObjectIdentifier>();
         private static readonly IDictionary _params = Platform.CreateHashtable();
-        private static readonly ISet pkcs15RsaEncryption = new HashSet();
+        private static readonly HashSet<DerObjectIdentifier> pkcs15RsaEncryption = new HashSet<DerObjectIdentifier>();
         private static readonly IDictionary digestOids = Platform.CreateHashtable();
 
-        private static readonly IDictionary digestBuilders = Platform.CreateHashtable();
-
-        private static readonly DerObjectIdentifier ENCRYPTION_RSA = PkcsObjectIdentifiers.RsaEncryption;
-        private static readonly DerObjectIdentifier ENCRYPTION_DSA = X9ObjectIdentifiers.IdDsaWithSha1;
-        private static readonly DerObjectIdentifier ENCRYPTION_ECDSA = X9ObjectIdentifiers.ECDsaWithSha1;
-        private static readonly DerObjectIdentifier ENCRYPTION_RSA_PSS = PkcsObjectIdentifiers.IdRsassaPss;
-        private static readonly DerObjectIdentifier ENCRYPTION_GOST3410 = CryptoProObjectIdentifiers.GostR3410x94;
-        private static readonly DerObjectIdentifier ENCRYPTION_ECGOST3410 = CryptoProObjectIdentifiers.GostR3410x2001;
-        private static readonly DerObjectIdentifier ENCRYPTION_ECGOST3410_2012_256 = RosstandartObjectIdentifiers.id_tc26_gost_3410_12_256;
-        private static readonly DerObjectIdentifier ENCRYPTION_ECGOST3410_2012_512 = RosstandartObjectIdentifiers.id_tc26_gost_3410_12_512;
+        //private static readonly DerObjectIdentifier ENCRYPTION_RSA = PkcsObjectIdentifiers.RsaEncryption;
+        //private static readonly DerObjectIdentifier ENCRYPTION_DSA = X9ObjectIdentifiers.IdDsaWithSha1;
+        //private static readonly DerObjectIdentifier ENCRYPTION_ECDSA = X9ObjectIdentifiers.ECDsaWithSha1;
+        //private static readonly DerObjectIdentifier ENCRYPTION_RSA_PSS = PkcsObjectIdentifiers.IdRsassaPss;
+        //private static readonly DerObjectIdentifier ENCRYPTION_GOST3410 = CryptoProObjectIdentifiers.GostR3410x94;
+        //private static readonly DerObjectIdentifier ENCRYPTION_ECGOST3410 = CryptoProObjectIdentifiers.GostR3410x2001;
+        //private static readonly DerObjectIdentifier ENCRYPTION_ECGOST3410_2012_256 = RosstandartObjectIdentifiers.id_tc26_gost_3410_12_256;
+        //private static readonly DerObjectIdentifier ENCRYPTION_ECGOST3410_2012_512 = RosstandartObjectIdentifiers.id_tc26_gost_3410_12_512;
 
         static DefaultSignatureAlgorithmIdentifierFinder()
         {
@@ -167,75 +165,75 @@ namespace Org.BouncyCastle.Cms
             // According to RFC 3279, the ASN.1 encoding SHALL (id-dsa-with-sha1) or MUST (ecdsa-with-SHA*) omit the parameters field.
             // The parameters field SHALL be NULL for RSA based signature algorithms.
             //
-            noParams.Add((object)X9ObjectIdentifiers.ECDsaWithSha1);
-            noParams.Add((object)X9ObjectIdentifiers.ECDsaWithSha224);
-            noParams.Add((object)X9ObjectIdentifiers.ECDsaWithSha256);
-            noParams.Add((object)X9ObjectIdentifiers.ECDsaWithSha384);
-            noParams.Add((object)X9ObjectIdentifiers.ECDsaWithSha512);
-            noParams.Add((object)X9ObjectIdentifiers.IdDsaWithSha1);
-            noParams.Add((object)NistObjectIdentifiers.DsaWithSha224);
-            noParams.Add((object)NistObjectIdentifiers.DsaWithSha256);
-            noParams.Add((object)NistObjectIdentifiers.DsaWithSha384);
-            noParams.Add((object)NistObjectIdentifiers.DsaWithSha512);
-            noParams.Add((object)NistObjectIdentifiers.IdDsaWithSha3_224);
-            noParams.Add((object)NistObjectIdentifiers.IdDsaWithSha3_256);
-            noParams.Add((object)NistObjectIdentifiers.IdDsaWithSha3_384);
-            noParams.Add((object)NistObjectIdentifiers.IdDsaWithSha3_512);
-            noParams.Add((object)NistObjectIdentifiers.IdEcdsaWithSha3_224);
-            noParams.Add((object)NistObjectIdentifiers.IdEcdsaWithSha3_256);
-            noParams.Add((object)NistObjectIdentifiers.IdEcdsaWithSha3_384);
-            noParams.Add((object)NistObjectIdentifiers.IdEcdsaWithSha3_512);
+            noParams.Add(X9ObjectIdentifiers.ECDsaWithSha1);
+            noParams.Add(X9ObjectIdentifiers.ECDsaWithSha224);
+            noParams.Add(X9ObjectIdentifiers.ECDsaWithSha256);
+            noParams.Add(X9ObjectIdentifiers.ECDsaWithSha384);
+            noParams.Add(X9ObjectIdentifiers.ECDsaWithSha512);
+            noParams.Add(X9ObjectIdentifiers.IdDsaWithSha1);
+            noParams.Add(NistObjectIdentifiers.DsaWithSha224);
+            noParams.Add(NistObjectIdentifiers.DsaWithSha256);
+            noParams.Add(NistObjectIdentifiers.DsaWithSha384);
+            noParams.Add(NistObjectIdentifiers.DsaWithSha512);
+            noParams.Add(NistObjectIdentifiers.IdDsaWithSha3_224);
+            noParams.Add(NistObjectIdentifiers.IdDsaWithSha3_256);
+            noParams.Add(NistObjectIdentifiers.IdDsaWithSha3_384);
+            noParams.Add(NistObjectIdentifiers.IdDsaWithSha3_512);
+            noParams.Add(NistObjectIdentifiers.IdEcdsaWithSha3_224);
+            noParams.Add(NistObjectIdentifiers.IdEcdsaWithSha3_256);
+            noParams.Add(NistObjectIdentifiers.IdEcdsaWithSha3_384);
+            noParams.Add(NistObjectIdentifiers.IdEcdsaWithSha3_512);
 
 
             //
             // RFC 4491
             //
-            noParams.Add((object)CryptoProObjectIdentifiers.GostR3411x94WithGostR3410x94);
-            noParams.Add((object)CryptoProObjectIdentifiers.GostR3411x94WithGostR3410x2001);
-            noParams.Add((object)RosstandartObjectIdentifiers.id_tc26_signwithdigest_gost_3410_12_256);
-            noParams.Add((object)RosstandartObjectIdentifiers.id_tc26_signwithdigest_gost_3410_12_512);
+            noParams.Add(CryptoProObjectIdentifiers.GostR3411x94WithGostR3410x94);
+            noParams.Add(CryptoProObjectIdentifiers.GostR3411x94WithGostR3410x2001);
+            noParams.Add(RosstandartObjectIdentifiers.id_tc26_signwithdigest_gost_3410_12_256);
+            noParams.Add(RosstandartObjectIdentifiers.id_tc26_signwithdigest_gost_3410_12_512);
 
             //
             // SPHINCS-256
             //
-            noParams.Add((object)BCObjectIdentifiers.sphincs256_with_SHA512);
-            noParams.Add((object)BCObjectIdentifiers.sphincs256_with_SHA3_512);
+            noParams.Add(BCObjectIdentifiers.sphincs256_with_SHA512);
+            noParams.Add(BCObjectIdentifiers.sphincs256_with_SHA3_512);
 
             //
             // XMSS
             //
-            noParams.Add((object)BCObjectIdentifiers.xmss_with_SHA256);
-            noParams.Add((object)BCObjectIdentifiers.xmss_with_SHA512);
-            noParams.Add((object)BCObjectIdentifiers.xmss_with_SHAKE128);
-            noParams.Add((object)BCObjectIdentifiers.xmss_with_SHAKE256);
-            noParams.Add((object)BCObjectIdentifiers.xmss_mt_with_SHA256);
-            noParams.Add((object)BCObjectIdentifiers.xmss_mt_with_SHA512);
-            noParams.Add((object)BCObjectIdentifiers.xmss_mt_with_SHAKE128);
-            noParams.Add((object)BCObjectIdentifiers.xmss_mt_with_SHAKE256);
+            noParams.Add(BCObjectIdentifiers.xmss_with_SHA256);
+            noParams.Add(BCObjectIdentifiers.xmss_with_SHA512);
+            noParams.Add(BCObjectIdentifiers.xmss_with_SHAKE128);
+            noParams.Add(BCObjectIdentifiers.xmss_with_SHAKE256);
+            noParams.Add(BCObjectIdentifiers.xmss_mt_with_SHA256);
+            noParams.Add(BCObjectIdentifiers.xmss_mt_with_SHA512);
+            noParams.Add(BCObjectIdentifiers.xmss_mt_with_SHAKE128);
+            noParams.Add(BCObjectIdentifiers.xmss_mt_with_SHAKE256);
 
             //
             // SM2
             //
-            noParams.Add((object)GMObjectIdentifiers.sm2sign_with_sha256);
-            noParams.Add((object)GMObjectIdentifiers.sm2sign_with_sm3);
+            noParams.Add(GMObjectIdentifiers.sm2sign_with_sha256);
+            noParams.Add(GMObjectIdentifiers.sm2sign_with_sm3);
 
             //
             // PKCS 1.5 encrypted  algorithms
             //
-            pkcs15RsaEncryption.Add((object)PkcsObjectIdentifiers.Sha1WithRsaEncryption);
-            pkcs15RsaEncryption.Add((object)PkcsObjectIdentifiers.Sha224WithRsaEncryption);
-            pkcs15RsaEncryption.Add((object)PkcsObjectIdentifiers.Sha256WithRsaEncryption);
-            pkcs15RsaEncryption.Add((object)PkcsObjectIdentifiers.Sha384WithRsaEncryption);
-            pkcs15RsaEncryption.Add((object)PkcsObjectIdentifiers.Sha512WithRsaEncryption);
-            pkcs15RsaEncryption.Add((object)PkcsObjectIdentifiers.Sha512_224WithRSAEncryption);
-            pkcs15RsaEncryption.Add((object)PkcsObjectIdentifiers.Sha512_256WithRSAEncryption);
-            pkcs15RsaEncryption.Add((object)TeleTrusTObjectIdentifiers.RsaSignatureWithRipeMD128);
-            pkcs15RsaEncryption.Add((object)TeleTrusTObjectIdentifiers.RsaSignatureWithRipeMD160);
-            pkcs15RsaEncryption.Add((object)TeleTrusTObjectIdentifiers.RsaSignatureWithRipeMD256);
-            pkcs15RsaEncryption.Add((object)NistObjectIdentifiers.IdRsassaPkcs1V15WithSha3_224);
-            pkcs15RsaEncryption.Add((object)NistObjectIdentifiers.IdRsassaPkcs1V15WithSha3_256);
-            pkcs15RsaEncryption.Add((object)NistObjectIdentifiers.IdRsassaPkcs1V15WithSha3_384);
-            pkcs15RsaEncryption.Add((object)NistObjectIdentifiers.IdRsassaPkcs1V15WithSha3_512);
+            pkcs15RsaEncryption.Add(PkcsObjectIdentifiers.Sha1WithRsaEncryption);
+            pkcs15RsaEncryption.Add(PkcsObjectIdentifiers.Sha224WithRsaEncryption);
+            pkcs15RsaEncryption.Add(PkcsObjectIdentifiers.Sha256WithRsaEncryption);
+            pkcs15RsaEncryption.Add(PkcsObjectIdentifiers.Sha384WithRsaEncryption);
+            pkcs15RsaEncryption.Add(PkcsObjectIdentifiers.Sha512WithRsaEncryption);
+            pkcs15RsaEncryption.Add(PkcsObjectIdentifiers.Sha512_224WithRSAEncryption);
+            pkcs15RsaEncryption.Add(PkcsObjectIdentifiers.Sha512_256WithRSAEncryption);
+            pkcs15RsaEncryption.Add(TeleTrusTObjectIdentifiers.RsaSignatureWithRipeMD128);
+            pkcs15RsaEncryption.Add(TeleTrusTObjectIdentifiers.RsaSignatureWithRipeMD160);
+            pkcs15RsaEncryption.Add(TeleTrusTObjectIdentifiers.RsaSignatureWithRipeMD256);
+            pkcs15RsaEncryption.Add(NistObjectIdentifiers.IdRsassaPkcs1V15WithSha3_224);
+            pkcs15RsaEncryption.Add(NistObjectIdentifiers.IdRsassaPkcs1V15WithSha3_256);
+            pkcs15RsaEncryption.Add(NistObjectIdentifiers.IdRsassaPkcs1V15WithSha3_384);
+            pkcs15RsaEncryption.Add(NistObjectIdentifiers.IdRsassaPkcs1V15WithSha3_512);
 
             //
             // explicit params
diff --git a/crypto/src/cms/CMSSignedHelper.cs b/crypto/src/cms/CMSSignedHelper.cs
index 7c7d42ef8..e48041a50 100644
--- a/crypto/src/cms/CMSSignedHelper.cs
+++ b/crypto/src/cms/CMSSignedHelper.cs
@@ -34,7 +34,7 @@ namespace Org.BouncyCastle.Cms
         private static readonly IDictionary digestAlgs = Platform.CreateHashtable();
         private static readonly IDictionary digestAliases = Platform.CreateHashtable();
 
-        private static readonly ISet noParams = new HashSet();
+        private static readonly HashSet<string> noParams = new HashSet<string>();
         private static readonly IDictionary ecAlgorithms = Platform.CreateHashtable();
 
         private static void AddEntries(DerObjectIdentifier oid, string digest, string encryption)