diff options
author | Peter Dettman <peter.dettman@bouncycastle.org> | 2023-01-17 20:32:13 +0700 |
---|---|---|
committer | Peter Dettman <peter.dettman@bouncycastle.org> | 2023-01-17 20:32:13 +0700 |
commit | 2e1dc7df1b47554ed229b65b9574973b43541a10 (patch) | |
tree | fd8b51ede5fe64ef823d8eb60c5db17e40f31544 /crypto/src/asn1/cmp | |
parent | FIx fetching of DateOfCertGen extension (diff) | |
download | BouncyCastle.NET-ed25519-2e1dc7df1b47554ed229b65b9574973b43541a10.tar.xz |
Refactoring in Asn1
Diffstat (limited to 'crypto/src/asn1/cmp')
-rw-r--r-- | crypto/src/asn1/cmp/PKIHeader.cs | 21 | ||||
-rw-r--r-- | crypto/src/asn1/cmp/PKIHeaderBuilder.cs | 26 | ||||
-rw-r--r-- | crypto/src/asn1/cmp/PKIMessage.cs | 10 | ||||
-rw-r--r-- | crypto/src/asn1/cmp/PKIMessages.cs | 25 |
4 files changed, 26 insertions, 56 deletions
diff --git a/crypto/src/asn1/cmp/PKIHeader.cs b/crypto/src/asn1/cmp/PKIHeader.cs index 7ed914e6a..7db9cde1d 100644 --- a/crypto/src/asn1/cmp/PKIHeader.cs +++ b/crypto/src/asn1/cmp/PKIHeader.cs @@ -76,13 +76,13 @@ namespace Org.BouncyCastle.Asn1.Cmp public static PkiHeader GetInstance(object obj) { - if (obj is PkiHeader) - return (PkiHeader)obj; + if (obj is PkiHeader pkiHeader) + return pkiHeader; - if (obj is Asn1Sequence) - return new PkiHeader((Asn1Sequence)obj); + if (obj is Asn1Sequence asn1Sequence) + return new PkiHeader(asn1Sequence); - throw new ArgumentException("Invalid object: " + Platform.GetTypeName(obj), "obj"); + throw new ArgumentException("Invalid object: " + Platform.GetTypeName(obj), nameof(obj)); } public PkiHeader( @@ -160,16 +160,7 @@ namespace Org.BouncyCastle.Asn1.Cmp public virtual InfoTypeAndValue[] GetGeneralInfo() { - if (generalInfo == null) - { - return null; - } - InfoTypeAndValue[] results = new InfoTypeAndValue[generalInfo.Count]; - for (int i = 0; i < results.Length; i++) - { - results[i] = InfoTypeAndValue.GetInstance(generalInfo[i]); - } - return results; + return generalInfo?.MapElements(InfoTypeAndValue.GetInstance); } /** diff --git a/crypto/src/asn1/cmp/PKIHeaderBuilder.cs b/crypto/src/asn1/cmp/PKIHeaderBuilder.cs index cbefc73b8..ab8db958a 100644 --- a/crypto/src/asn1/cmp/PKIHeaderBuilder.cs +++ b/crypto/src/asn1/cmp/PKIHeaderBuilder.cs @@ -189,15 +189,15 @@ namespace Org.BouncyCastle.Asn1.Cmp public virtual PkiHeader Build() { Asn1EncodableVector v = new Asn1EncodableVector(pvno, sender, recipient); - AddOptional(v, 0, messageTime); - AddOptional(v, 1, protectionAlg); - AddOptional(v, 2, senderKID); - AddOptional(v, 3, recipKID); - AddOptional(v, 4, transactionID); - AddOptional(v, 5, senderNonce); - AddOptional(v, 6, recipNonce); - AddOptional(v, 7, freeText); - AddOptional(v, 8, generalInfo); + v.AddOptionalTagged(true, 0, messageTime); + v.AddOptionalTagged(true, 1, protectionAlg); + v.AddOptionalTagged(true, 2, senderKID); + v.AddOptionalTagged(true, 3, recipKID); + v.AddOptionalTagged(true, 4, transactionID); + v.AddOptionalTagged(true, 5, senderNonce); + v.AddOptionalTagged(true, 6, recipNonce); + v.AddOptionalTagged(true, 7, freeText); + v.AddOptionalTagged(true, 8, generalInfo); messageTime = null; protectionAlg = null; @@ -211,13 +211,5 @@ namespace Org.BouncyCastle.Asn1.Cmp return PkiHeader.GetInstance(new DerSequence(v)); } - - private void AddOptional(Asn1EncodableVector v, int tagNo, Asn1Encodable obj) - { - if (obj != null) - { - v.Add(new DerTaggedObject(true, tagNo, obj)); - } - } } } diff --git a/crypto/src/asn1/cmp/PKIMessage.cs b/crypto/src/asn1/cmp/PKIMessage.cs index c87bf2126..9ac54b3da 100644 --- a/crypto/src/asn1/cmp/PKIMessage.cs +++ b/crypto/src/asn1/cmp/PKIMessage.cs @@ -96,15 +96,7 @@ namespace Org.BouncyCastle.Asn1.Cmp public virtual CmpCertificate[] GetExtraCerts() { - if (extraCerts == null) - return null; - - CmpCertificate[] results = new CmpCertificate[extraCerts.Count]; - for (int i = 0; i < results.Length; ++i) - { - results[i] = CmpCertificate.GetInstance(extraCerts[i]); - } - return results; + return extraCerts?.MapElements(CmpCertificate.GetInstance); } /** diff --git a/crypto/src/asn1/cmp/PKIMessages.cs b/crypto/src/asn1/cmp/PKIMessages.cs index 0008f476a..8e2e8a1ed 100644 --- a/crypto/src/asn1/cmp/PKIMessages.cs +++ b/crypto/src/asn1/cmp/PKIMessages.cs @@ -7,37 +7,32 @@ namespace Org.BouncyCastle.Asn1.Cmp public class PkiMessages : Asn1Encodable { - private Asn1Sequence content; + private Asn1Sequence m_content; internal PkiMessages(Asn1Sequence seq) { - content = seq; + m_content = seq; } public static PkiMessages GetInstance(object obj) { - if (obj is PkiMessages) - return (PkiMessages)obj; + if (obj is PkiMessages pkiMessages) + return pkiMessages; - if (obj is Asn1Sequence) - return new PkiMessages((Asn1Sequence)obj); + if (obj is Asn1Sequence asn1Sequence) + return new PkiMessages(asn1Sequence); - throw new ArgumentException("Invalid object: " + Platform.GetTypeName(obj), "obj"); + throw new ArgumentException("Invalid object: " + Platform.GetTypeName(obj), nameof(obj)); } public PkiMessages(params PkiMessage[] msgs) { - content = new DerSequence(msgs); + m_content = new DerSequence(msgs); } public virtual PkiMessage[] ToPkiMessageArray() { - PkiMessage[] result = new PkiMessage[content.Count]; - for (int i = 0; i != result.Length; ++i) - { - result[i] = PkiMessage.GetInstance(content[i]); - } - return result; + return m_content.MapElements(PkiMessage.GetInstance); } /** @@ -48,7 +43,7 @@ namespace Org.BouncyCastle.Asn1.Cmp */ public override Asn1Object ToAsn1Object() { - return content; + return m_content; } } } |