summary refs log tree commit diff
path: root/crypto/src/asn1/pkcs/PKCS12PBEParams.cs
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/src/asn1/pkcs/PKCS12PBEParams.cs')
-rw-r--r--crypto/src/asn1/pkcs/PKCS12PBEParams.cs66
1 files changed, 26 insertions, 40 deletions
diff --git a/crypto/src/asn1/pkcs/PKCS12PBEParams.cs b/crypto/src/asn1/pkcs/PKCS12PBEParams.cs
index b41c289d8..d237d49a2 100644
--- a/crypto/src/asn1/pkcs/PKCS12PBEParams.cs
+++ b/crypto/src/asn1/pkcs/PKCS12PBEParams.cs
@@ -1,63 +1,49 @@
 using System;
 
 using Org.BouncyCastle.Math;
-using Org.BouncyCastle.Utilities;
 
 namespace Org.BouncyCastle.Asn1.Pkcs
 {
     public class Pkcs12PbeParams
         : Asn1Encodable
     {
-        private readonly DerInteger iterations;
-        private readonly Asn1OctetString iv;
-
-		public Pkcs12PbeParams(
-            byte[]	salt,
-            int		iterations)
+        public static Pkcs12PbeParams GetInstance(object obj)
         {
-            this.iv = new DerOctetString(salt);
-            this.iterations = new DerInteger(iterations);
+            if (obj == null)
+                return null;
+            if (obj is Pkcs12PbeParams pkcs12PbeParams)
+                return pkcs12PbeParams;
+            return new Pkcs12PbeParams(Asn1Sequence.GetInstance(obj));
         }
 
-		private Pkcs12PbeParams(
-            Asn1Sequence seq)
+        public static Pkcs12PbeParams GetInstance(Asn1TaggedObject tagged, bool declaredExplicit)
         {
-			if (seq.Count != 2)
-				throw new ArgumentException("Wrong number of elements in sequence", "seq");
-
-			iv = Asn1OctetString.GetInstance(seq[0]);
-            iterations = DerInteger.GetInstance(seq[1]);
+            return new Pkcs12PbeParams(Asn1Sequence.GetInstance(tagged, declaredExplicit));
         }
 
-		public static Pkcs12PbeParams GetInstance(
-            object obj)
-        {
-            if (obj is Pkcs12PbeParams)
-            {
-                return (Pkcs12PbeParams) obj;
-            }
-
-			if (obj is Asn1Sequence)
-            {
-                return new Pkcs12PbeParams((Asn1Sequence) obj);
-            }
-
-			throw new ArgumentException("Unknown object in factory: " + Platform.GetTypeName(obj), "obj");
-		}
+        private readonly Asn1OctetString m_iv;
+        private readonly DerInteger m_iterations;
 
-		public BigInteger Iterations
-		{
-			get { return iterations.Value; }
-		}
-
-		public byte[] GetIV()
+        private Pkcs12PbeParams(Asn1Sequence seq)
         {
-            return iv.GetOctets();
+            int count = seq.Count;
+            if (count != 2)
+                throw new ArgumentException("Bad sequence size: " + count, nameof(seq));
+
+            m_iv = Asn1OctetString.GetInstance(seq[0]);
+            m_iterations = DerInteger.GetInstance(seq[1]);
         }
 
-		public override Asn1Object ToAsn1Object()
+        public Pkcs12PbeParams(byte[] salt, int iterations)
         {
-			return new DerSequence(iv, iterations);
+            m_iv = new DerOctetString(salt);
+            m_iterations = new DerInteger(iterations);
         }
+
+        public BigInteger Iterations => m_iterations.Value;
+
+        public byte[] GetIV() => m_iv.GetOctets();
+
+        public override Asn1Object ToAsn1Object() => new DerSequence(m_iv, m_iterations);
     }
 }