summary refs log tree commit diff
path: root/crypto/src/asn1/cms/KEKRecipientInfo.cs
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/src/asn1/cms/KEKRecipientInfo.cs')
-rw-r--r--crypto/src/asn1/cms/KEKRecipientInfo.cs63
1 files changed, 25 insertions, 38 deletions
diff --git a/crypto/src/asn1/cms/KEKRecipientInfo.cs b/crypto/src/asn1/cms/KEKRecipientInfo.cs
index b1b85953e..ea1a2e080 100644
--- a/crypto/src/asn1/cms/KEKRecipientInfo.cs
+++ b/crypto/src/asn1/cms/KEKRecipientInfo.cs
@@ -25,51 +25,40 @@ namespace Org.BouncyCastle.Asn1.Cms
 #pragma warning restore CS0618 // Type or member is obsolete
         }
 
-        private DerInteger			version;
-        private KekIdentifier       kekID;
-        private AlgorithmIdentifier keyEncryptionAlgorithm;
-        private Asn1OctetString     encryptedKey;
+        private readonly DerInteger m_version;
+        private readonly KekIdentifier m_kekID;
+        private readonly AlgorithmIdentifier m_keyEncryptionAlgorithm;
+        private readonly Asn1OctetString m_encryptedKey;
 
-		public KekRecipientInfo(
-            KekIdentifier       kekID,
-            AlgorithmIdentifier keyEncryptionAlgorithm,
-            Asn1OctetString     encryptedKey)
+        public KekRecipientInfo(KekIdentifier kekID, AlgorithmIdentifier keyEncryptionAlgorithm,
+            Asn1OctetString encryptedKey)
         {
-            this.version = DerInteger.Four;
-            this.kekID = kekID;
-            this.keyEncryptionAlgorithm = keyEncryptionAlgorithm;
-            this.encryptedKey = encryptedKey;
+            m_version = DerInteger.Four;
+            m_kekID = kekID ?? throw new ArgumentNullException(nameof(kekID));
+            m_keyEncryptionAlgorithm = keyEncryptionAlgorithm ?? throw new ArgumentNullException(nameof(keyEncryptionAlgorithm));
+            m_encryptedKey = encryptedKey ?? throw new ArgumentNullException(nameof(encryptedKey));
         }
 
         [Obsolete("Use 'GetInstance' instead")]
-        public KekRecipientInfo(
-            Asn1Sequence seq)
+        public KekRecipientInfo(Asn1Sequence seq)
         {
-            version = (DerInteger) seq[0];
-            kekID = KekIdentifier.GetInstance(seq[1]);
-            keyEncryptionAlgorithm = AlgorithmIdentifier.GetInstance(seq[2]);
-            encryptedKey = (Asn1OctetString) seq[3];
+            int count = seq.Count;
+            if (count != 4)
+                throw new ArgumentException("Bad sequence size: " + count, nameof(seq));
+
+            m_version = DerInteger.GetInstance(seq[0]);
+            m_kekID = KekIdentifier.GetInstance(seq[1]);
+            m_keyEncryptionAlgorithm = AlgorithmIdentifier.GetInstance(seq[2]);
+            m_encryptedKey = Asn1OctetString.GetInstance(seq[3]);
         }
 
-        public DerInteger Version
-		{
-			get { return version; }
-		}
+        public DerInteger Version => m_version;
 
-		public KekIdentifier KekID
-		{
-			get { return kekID; }
-		}
+        public KekIdentifier KekID => m_kekID;
 
-		public AlgorithmIdentifier KeyEncryptionAlgorithm
-		{
-			get { return keyEncryptionAlgorithm; }
-		}
+		public AlgorithmIdentifier KeyEncryptionAlgorithm => m_keyEncryptionAlgorithm;
 
-		public Asn1OctetString EncryptedKey
-		{
-			get { return encryptedKey; }
-		}
+        public Asn1OctetString EncryptedKey => m_encryptedKey;
 
 		/**
          * Produce an object suitable for an Asn1OutputStream.
@@ -82,9 +71,7 @@ namespace Org.BouncyCastle.Asn1.Cms
          * }
          * </pre>
          */
-        public override Asn1Object ToAsn1Object()
-        {
-			return new DerSequence(version, kekID, keyEncryptionAlgorithm, encryptedKey);
-        }
+        public override Asn1Object ToAsn1Object() =>
+            new DerSequence(m_version, m_kekID, m_keyEncryptionAlgorithm, m_encryptedKey);
     }
 }