summary refs log tree commit diff
path: root/crypto/src/asn1/crmf/CertReqMsg.cs
diff options
context:
space:
mode:
authorPeter Dettman <peter.dettman@bouncycastle.org>2023-07-20 13:01:32 +0700
committerPeter Dettman <peter.dettman@bouncycastle.org>2023-07-20 13:01:32 +0700
commit2af5fb18597085a765f59e6a808bf79155560359 (patch)
treed07f82c69f7edb122d58294c4be49088059366d4 /crypto/src/asn1/crmf/CertReqMsg.cs
parentAdd more MQV OIDs (diff)
downloadBouncyCastle.NET-ed25519-2af5fb18597085a765f59e6a808bf79155560359.tar.xz
Refactoring in Asn1.Crmf
Diffstat (limited to 'crypto/src/asn1/crmf/CertReqMsg.cs')
-rw-r--r--crypto/src/asn1/crmf/CertReqMsg.cs82
1 files changed, 34 insertions, 48 deletions
diff --git a/crypto/src/asn1/crmf/CertReqMsg.cs b/crypto/src/asn1/crmf/CertReqMsg.cs
index ba9cfd389..1832a34cc 100644
--- a/crypto/src/asn1/crmf/CertReqMsg.cs
+++ b/crypto/src/asn1/crmf/CertReqMsg.cs
@@ -5,13 +5,27 @@ namespace Org.BouncyCastle.Asn1.Crmf
     public class CertReqMsg
         : Asn1Encodable
     {
-        private readonly CertRequest certReq;
-        private readonly ProofOfPossession popo;
-        private readonly Asn1Sequence regInfo;
+        public static CertReqMsg GetInstance(object obj)
+        {
+            if (obj == null)
+                return null;
+            if (obj is CertReqMsg certReqMsg)
+                return certReqMsg;
+            return new CertReqMsg(Asn1Sequence.GetInstance(obj));
+        }
+
+        public static CertReqMsg GetInstance(Asn1TaggedObject obj, bool isExplicit)
+        {
+            return new CertReqMsg(Asn1Sequence.GetInstance(obj, isExplicit));
+        }
+
+        private readonly CertRequest m_certReq;
+        private readonly ProofOfPossession m_pop;
+        private readonly Asn1Sequence m_regInfo;
 
         private CertReqMsg(Asn1Sequence seq)
         {
-            certReq = CertRequest.GetInstance(seq[0]);
+            m_certReq = CertRequest.GetInstance(seq[0]);
 
             for (int pos = 1; pos < seq.Count; ++pos)
             {
@@ -19,70 +33,41 @@ namespace Org.BouncyCastle.Asn1.Crmf
 
                 if (o is Asn1TaggedObject || o is ProofOfPossession)
                 {
-                    popo = ProofOfPossession.GetInstance(o);
+                    m_pop = ProofOfPossession.GetInstance(o);
                 }
                 else
                 {
-                    regInfo = Asn1Sequence.GetInstance(o);
+                    m_regInfo = Asn1Sequence.GetInstance(o);
                 }
             }
         }
 
-        public static CertReqMsg GetInstance(object obj)
-        {
-            if (obj is CertReqMsg)
-                return (CertReqMsg)obj;
-
-            if (obj != null)
-                return new CertReqMsg(Asn1Sequence.GetInstance(obj));
-
-            return null;
-        }
-
-        public static CertReqMsg GetInstance(
-            Asn1TaggedObject obj,
-            bool isExplicit)
-        {
-            return GetInstance(Asn1Sequence.GetInstance(obj, isExplicit));
-        }
-
         /**
          * Creates a new CertReqMsg.
          * @param certReq CertRequest
          * @param popo may be null
          * @param regInfo may be null
          */
-        public CertReqMsg(
-            CertRequest				certReq,
-            ProofOfPossession		popo,
-            AttributeTypeAndValue[]	regInfo)
+        public CertReqMsg(CertRequest certReq, ProofOfPossession popo, AttributeTypeAndValue[] regInfo)
         {
-            if (certReq == null)
-                throw new ArgumentNullException("certReq");
-
-            this.certReq = certReq;
-            this.popo = popo;
+            this.m_certReq = certReq ?? throw new ArgumentNullException(nameof(certReq));
+            this.m_pop = popo;
 
             if (regInfo != null)
             {
-                this.regInfo = new DerSequence(regInfo);
+                this.m_regInfo = new DerSequence(regInfo);
             }
         }
 
-        public virtual CertRequest CertReq
-        {
-            get { return certReq; }
-        }
+        public virtual CertRequest CertReq => m_certReq;
 
-        public virtual ProofOfPossession Popo
-        {
-            get { return popo; }
-        }
+        public virtual ProofOfPossession Pop => m_pop;
 
-        public virtual AttributeTypeAndValue[] GetRegInfo()
-        {
-            return regInfo?.MapElements(AttributeTypeAndValue.GetInstance);
-        }
+        [Obsolete("Use 'Pop' instead")]
+        public virtual ProofOfPossession Popo => m_pop;
+
+        public virtual AttributeTypeAndValue[] GetRegInfo() =>
+            m_regInfo?.MapElements(AttributeTypeAndValue.GetInstance);
 
         /**
          * <pre>
@@ -96,8 +81,9 @@ namespace Org.BouncyCastle.Asn1.Crmf
          */
         public override Asn1Object ToAsn1Object()
         {
-            Asn1EncodableVector v = new Asn1EncodableVector(certReq);
-            v.AddOptional(popo, regInfo);
+            Asn1EncodableVector v = new Asn1EncodableVector(2);
+            v.Add(m_certReq);
+            v.AddOptional(m_pop, m_regInfo);
             return new DerSequence(v);
         }
     }