diff --git a/crypto/src/asn1/cmp/CAKeyUpdAnnContent.cs b/crypto/src/asn1/cmp/CAKeyUpdAnnContent.cs
index d39c57bc9..4460c8265 100644
--- a/crypto/src/asn1/cmp/CAKeyUpdAnnContent.cs
+++ b/crypto/src/asn1/cmp/CAKeyUpdAnnContent.cs
@@ -14,7 +14,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static CAKeyUpdAnnContent GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new CAKeyUpdAnnContent(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
private readonly CmpCertificate m_oldWithNew;
@@ -44,9 +44,6 @@ namespace Org.BouncyCastle.Asn1.Cmp
* </pre>
* @return a basic ASN.1 object representation.
*/
- public override Asn1Object ToAsn1Object()
- {
- return new DerSequence(m_oldWithNew, m_newWithOld, m_newWithNew);
- }
+ public override Asn1Object ToAsn1Object() => new DerSequence(m_oldWithNew, m_newWithOld, m_newWithNew);
}
}
diff --git a/crypto/src/asn1/cmp/CertConfirmContent.cs b/crypto/src/asn1/cmp/CertConfirmContent.cs
index e11826d6b..61b7451b4 100644
--- a/crypto/src/asn1/cmp/CertConfirmContent.cs
+++ b/crypto/src/asn1/cmp/CertConfirmContent.cs
@@ -14,7 +14,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static CertConfirmContent GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new CertConfirmContent(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
private readonly Asn1Sequence m_content;
@@ -24,20 +24,14 @@ namespace Org.BouncyCastle.Asn1.Cmp
m_content = seq;
}
- public virtual CertStatus[] ToCertStatusArray()
- {
- return m_content.MapElements(CertStatus.GetInstance);
- }
+ public virtual CertStatus[] ToCertStatusArray() => m_content.MapElements(CertStatus.GetInstance);
- /**
+ /**
* <pre>
* CertConfirmContent ::= SEQUENCE OF CertStatus
* </pre>
* @return a basic ASN.1 object representation.
*/
- public override Asn1Object ToAsn1Object()
- {
- return m_content;
- }
+ public override Asn1Object ToAsn1Object() => m_content;
}
}
diff --git a/crypto/src/asn1/cmp/CertOrEncCert.cs b/crypto/src/asn1/cmp/CertOrEncCert.cs
index d248de1aa..94df00006 100644
--- a/crypto/src/asn1/cmp/CertOrEncCert.cs
+++ b/crypto/src/asn1/cmp/CertOrEncCert.cs
@@ -26,17 +26,18 @@ namespace Org.BouncyCastle.Asn1.Cmp
private CertOrEncCert(Asn1TaggedObject taggedObject)
{
- if (taggedObject.TagNo == 0)
+ if (taggedObject.HasContextTag(0))
{
m_certificate = CmpCertificate.GetInstance(taggedObject.GetExplicitBaseObject());
}
- else if (taggedObject.TagNo == 1)
+ else if (taggedObject.HasContextTag(1))
{
m_encryptedCert = EncryptedKey.GetInstance(taggedObject.GetExplicitBaseObject());
}
else
{
- throw new ArgumentException("unknown tag: " + taggedObject.TagNo, nameof(taggedObject));
+ throw new ArgumentException("unknown tag: " + Asn1Utilities.GetTagText(taggedObject),
+ nameof(taggedObject));
}
}
@@ -60,6 +61,8 @@ namespace Org.BouncyCastle.Asn1.Cmp
public virtual EncryptedKey EncryptedCert => m_encryptedCert;
+ public virtual bool HasEncryptedCertificate => m_encryptedCert != null;
+
/**
* <pre>
* CertOrEncCert ::= CHOICE {
diff --git a/crypto/src/asn1/cmp/CertRepMessage.cs b/crypto/src/asn1/cmp/CertRepMessage.cs
index 882816b86..9c260eadb 100644
--- a/crypto/src/asn1/cmp/CertRepMessage.cs
+++ b/crypto/src/asn1/cmp/CertRepMessage.cs
@@ -16,7 +16,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static CertRepMessage GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new CertRepMessage(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
private readonly Asn1Sequence m_caPubs;
@@ -39,7 +39,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
if (response == null)
throw new ArgumentNullException(nameof(response));
- if (caPubs != null)
+ if (caPubs != null && caPubs.Length > 0)
{
m_caPubs = new DerSequence(caPubs);
}
@@ -47,15 +47,9 @@ namespace Org.BouncyCastle.Asn1.Cmp
m_response = new DerSequence(response);
}
- public virtual CmpCertificate[] GetCAPubs()
- {
- return m_caPubs == null ? null : m_caPubs.MapElements(CmpCertificate.GetInstance);
- }
+ public virtual CmpCertificate[] GetCAPubs() => m_caPubs?.MapElements(CmpCertificate.GetInstance);
- public virtual CertResponse[] GetResponse()
- {
- return m_response.MapElements(CertResponse.GetInstance);
- }
+ public virtual CertResponse[] GetResponse() => m_response.MapElements(CertResponse.GetInstance);
/**
* <pre>
diff --git a/crypto/src/asn1/cmp/CertReqTemplateContent.cs b/crypto/src/asn1/cmp/CertReqTemplateContent.cs
index c08a9a293..ae35bc5e8 100644
--- a/crypto/src/asn1/cmp/CertReqTemplateContent.cs
+++ b/crypto/src/asn1/cmp/CertReqTemplateContent.cs
@@ -31,7 +31,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static CertReqTemplateContent GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new CertReqTemplateContent(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
private readonly CertTemplate m_certTemplate;
@@ -62,7 +62,8 @@ namespace Org.BouncyCastle.Asn1.Cmp
public override Asn1Object ToAsn1Object()
{
- Asn1EncodableVector v = new Asn1EncodableVector(m_certTemplate);
+ Asn1EncodableVector v = new Asn1EncodableVector(2);
+ v.Add(m_certTemplate);
v.AddOptional(m_keySpec);
return new DerSequence(v);
}
diff --git a/crypto/src/asn1/cmp/CertResponse.cs b/crypto/src/asn1/cmp/CertResponse.cs
index e70d6d388..ce3355270 100644
--- a/crypto/src/asn1/cmp/CertResponse.cs
+++ b/crypto/src/asn1/cmp/CertResponse.cs
@@ -16,7 +16,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static CertResponse GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new CertResponse(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
private readonly DerInteger m_certReqId;
@@ -34,9 +34,9 @@ namespace Org.BouncyCastle.Asn1.Cmp
if (seq.Count == 3)
{
Asn1Encodable o = seq[2];
- if (o is Asn1OctetString)
+ if (o is Asn1OctetString octetString)
{
- m_rspInfo = Asn1OctetString.GetInstance(o);
+ m_rspInfo = octetString;
}
else
{
@@ -59,15 +59,9 @@ namespace Org.BouncyCastle.Asn1.Cmp
public CertResponse(DerInteger certReqId, PkiStatusInfo status, CertifiedKeyPair certifiedKeyPair,
Asn1OctetString rspInfo)
{
- if (certReqId == null)
- throw new ArgumentNullException(nameof(certReqId));
-
- if (status == null)
- throw new ArgumentNullException(nameof(status));
-
- m_certReqId = certReqId;
- m_status = status;
- m_certifiedKeyPair = certifiedKeyPair;
+ m_certReqId = certReqId ?? throw new ArgumentNullException(nameof(certReqId));
+ m_status = status ?? throw new ArgumentNullException(nameof(status));
+ m_certifiedKeyPair = certifiedKeyPair;
m_rspInfo = rspInfo;
}
@@ -77,6 +71,8 @@ namespace Org.BouncyCastle.Asn1.Cmp
public virtual CertifiedKeyPair CertifiedKeyPair => m_certifiedKeyPair;
+ public virtual Asn1OctetString RspInfo => m_rspInfo;
+
/**
* <pre>
* CertResponse ::= SEQUENCE {
@@ -95,7 +91,8 @@ namespace Org.BouncyCastle.Asn1.Cmp
*/
public override Asn1Object ToAsn1Object()
{
- Asn1EncodableVector v = new Asn1EncodableVector(m_certReqId, m_status);
+ Asn1EncodableVector v = new Asn1EncodableVector(4);
+ v.Add(m_certReqId, m_status);
v.AddOptional(m_certifiedKeyPair, m_rspInfo);
return new DerSequence(v);
}
diff --git a/crypto/src/asn1/cmp/CertStatus.cs b/crypto/src/asn1/cmp/CertStatus.cs
index 37f0c29e8..b64a0fe84 100644
--- a/crypto/src/asn1/cmp/CertStatus.cs
+++ b/crypto/src/asn1/cmp/CertStatus.cs
@@ -19,7 +19,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static CertStatus GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new CertStatus(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
private readonly Asn1OctetString m_certHash;
@@ -43,8 +43,8 @@ namespace Org.BouncyCastle.Asn1.Cmp
}
if (p is Asn1TaggedObject dto)
{
- if (dto.TagNo != 0)
- throw new ArgumentException("unknown tag " + dto.TagNo);
+ if (!dto.HasContextTag(0))
+ throw new ArgumentException("unknown tag " + Asn1Utilities.GetTagText(dto));
m_hashAlg = AlgorithmIdentifier.GetInstance(dto, true);
}
@@ -56,14 +56,17 @@ namespace Org.BouncyCastle.Asn1.Cmp
{
m_certHash = new DerOctetString(certHash);
m_certReqID = new DerInteger(certReqID);
- }
+ m_statusInfo = null;
+ m_hashAlg = null;
+ }
- public CertStatus(byte[] certHash, BigInteger certReqID, PkiStatusInfo statusInfo)
+ public CertStatus(byte[] certHash, BigInteger certReqID, PkiStatusInfo statusInfo)
{
m_certHash = new DerOctetString(certHash);
m_certReqID = new DerInteger(certReqID);
m_statusInfo = statusInfo;
- }
+ m_hashAlg = null;
+ }
public CertStatus(byte[] certHash, BigInteger certReqID, PkiStatusInfo statusInfo, AlgorithmIdentifier hashAlg)
{
@@ -97,7 +100,8 @@ namespace Org.BouncyCastle.Asn1.Cmp
*/
public override Asn1Object ToAsn1Object()
{
- Asn1EncodableVector v = new Asn1EncodableVector(m_certHash, m_certReqID);
+ Asn1EncodableVector v = new Asn1EncodableVector(4);
+ v.Add(m_certHash, m_certReqID);
v.AddOptional(m_statusInfo);
v.AddOptionalTagged(true, 0, m_hashAlg);
return new DerSequence(v);
diff --git a/crypto/src/asn1/cmp/CertifiedKeyPair.cs b/crypto/src/asn1/cmp/CertifiedKeyPair.cs
index 73828fda4..9c7fd8175 100644
--- a/crypto/src/asn1/cmp/CertifiedKeyPair.cs
+++ b/crypto/src/asn1/cmp/CertifiedKeyPair.cs
@@ -18,7 +18,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static CertifiedKeyPair GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new CertifiedKeyPair(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
private readonly CertOrEncCert m_certOrEncCert;
@@ -94,7 +94,8 @@ namespace Org.BouncyCastle.Asn1.Cmp
*/
public override Asn1Object ToAsn1Object()
{
- Asn1EncodableVector v = new Asn1EncodableVector(m_certOrEncCert);
+ Asn1EncodableVector v = new Asn1EncodableVector(3);
+ v.Add(m_certOrEncCert);
v.AddOptionalTagged(true, 0, m_privateKey);
v.AddOptionalTagged(true, 1, m_publicationInfo);
return new DerSequence(v);
diff --git a/crypto/src/asn1/cmp/Challenge.cs b/crypto/src/asn1/cmp/Challenge.cs
index b86c3d800..4e30dcb55 100644
--- a/crypto/src/asn1/cmp/Challenge.cs
+++ b/crypto/src/asn1/cmp/Challenge.cs
@@ -44,7 +44,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static Challenge GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new Challenge(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
private readonly AlgorithmIdentifier m_owf;
@@ -111,7 +111,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
*/
public override Asn1Object ToAsn1Object()
{
- Asn1EncodableVector v = new Asn1EncodableVector(2);
+ Asn1EncodableVector v = new Asn1EncodableVector(3);
v.AddOptional(m_owf);
v.Add(m_witness, m_challenge);
return new DerSequence(v);
@@ -134,7 +134,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static Rand GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new Rand(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
private readonly DerInteger m_intVal;
@@ -159,10 +159,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public virtual GeneralName Sender => m_sender;
- public override Asn1Object ToAsn1Object()
- {
- return new DerSequence(m_intVal, m_sender);
- }
+ public override Asn1Object ToAsn1Object() => new DerSequence(m_intVal, m_sender);
}
}
}
diff --git a/crypto/src/asn1/cmp/CrlAnnContent.cs b/crypto/src/asn1/cmp/CrlAnnContent.cs
index ac8fc0458..fb566c17f 100644
--- a/crypto/src/asn1/cmp/CrlAnnContent.cs
+++ b/crypto/src/asn1/cmp/CrlAnnContent.cs
@@ -16,7 +16,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static CrlAnnContent GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new CrlAnnContent(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
private readonly Asn1Sequence m_content;
@@ -31,10 +31,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
m_content = new DerSequence(crl);
}
- public virtual CertificateList[] ToCertificateListArray()
- {
- return m_content.MapElements(CertificateList.GetInstance);
- }
+ public virtual CertificateList[] ToCertificateListArray() => m_content.MapElements(CertificateList.GetInstance);
/**
* <pre>
@@ -42,9 +39,6 @@ namespace Org.BouncyCastle.Asn1.Cmp
* </pre>
* @return a basic ASN.1 object representation.
*/
- public override Asn1Object ToAsn1Object()
- {
- return m_content;
- }
+ public override Asn1Object ToAsn1Object() => m_content;
}
}
diff --git a/crypto/src/asn1/cmp/CrlSource.cs b/crypto/src/asn1/cmp/CrlSource.cs
index 6203b17c7..61fc96b32 100644
--- a/crypto/src/asn1/cmp/CrlSource.cs
+++ b/crypto/src/asn1/cmp/CrlSource.cs
@@ -36,18 +36,20 @@ namespace Org.BouncyCastle.Asn1.Cmp
private CrlSource(Asn1TaggedObject taggedObject)
{
- switch (taggedObject.TagNo)
+ if (taggedObject.HasContextTag(0))
{
- case 0:
m_dpn = DistributionPointName.GetInstance(taggedObject, true);
m_issuer = null;
- break;
- case 1:
+ }
+ else if (taggedObject.HasContextTag(1))
+ {
m_dpn = null;
m_issuer = GeneralNames.GetInstance(taggedObject, true);
- break;
- default:
- throw new ArgumentException("unknown tag: " + Asn1Utilities.GetTagText(taggedObject));
+ }
+ else
+ {
+ throw new ArgumentException("unknown tag " + Asn1Utilities.GetTagText(taggedObject),
+ nameof(taggedObject));
}
}
diff --git a/crypto/src/asn1/cmp/CrlStatus.cs b/crypto/src/asn1/cmp/CrlStatus.cs
index 6cd01c945..f5cf091f4 100644
--- a/crypto/src/asn1/cmp/CrlStatus.cs
+++ b/crypto/src/asn1/cmp/CrlStatus.cs
@@ -23,7 +23,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static CrlStatus GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new CrlStatus(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
private readonly CrlSource m_source;
diff --git a/crypto/src/asn1/cmp/DhbmParameter.cs b/crypto/src/asn1/cmp/DhbmParameter.cs
index 12b8d91d3..1b44b732e 100644
--- a/crypto/src/asn1/cmp/DhbmParameter.cs
+++ b/crypto/src/asn1/cmp/DhbmParameter.cs
@@ -26,7 +26,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static DhbmParameter GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new DhbmParameter(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
private readonly AlgorithmIdentifier m_owf;
@@ -51,9 +51,6 @@ namespace Org.BouncyCastle.Asn1.Cmp
public virtual AlgorithmIdentifier Mac => m_mac;
- public override Asn1Object ToAsn1Object()
- {
- return new DerSequence(m_owf, m_mac);
- }
+ public override Asn1Object ToAsn1Object() => new DerSequence(m_owf, m_mac);
}
}
diff --git a/crypto/src/asn1/cmp/ErrorMsgContent.cs b/crypto/src/asn1/cmp/ErrorMsgContent.cs
index 0937d85d4..44646313e 100644
--- a/crypto/src/asn1/cmp/ErrorMsgContent.cs
+++ b/crypto/src/asn1/cmp/ErrorMsgContent.cs
@@ -27,7 +27,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static ErrorMsgContent GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new ErrorMsgContent(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
private readonly PkiStatusInfo m_pkiStatusInfo;
@@ -57,15 +57,9 @@ namespace Org.BouncyCastle.Asn1.Cmp
{
}
- public ErrorMsgContent(
- PkiStatusInfo pkiStatusInfo,
- DerInteger errorCode,
- PkiFreeText errorDetails)
+ public ErrorMsgContent(PkiStatusInfo pkiStatusInfo, DerInteger errorCode, PkiFreeText errorDetails)
{
- if (pkiStatusInfo == null)
- throw new ArgumentNullException(nameof(pkiStatusInfo));
-
- m_pkiStatusInfo = pkiStatusInfo;
+ m_pkiStatusInfo = pkiStatusInfo ?? throw new ArgumentNullException(nameof(pkiStatusInfo));
m_errorCode = errorCode;
m_errorDetails = errorDetails;
}
@@ -90,7 +84,8 @@ namespace Org.BouncyCastle.Asn1.Cmp
*/
public override Asn1Object ToAsn1Object()
{
- Asn1EncodableVector v = new Asn1EncodableVector(m_pkiStatusInfo);
+ Asn1EncodableVector v = new Asn1EncodableVector(3);
+ v.Add(m_pkiStatusInfo);
v.AddOptional(m_errorCode, m_errorDetails);
return new DerSequence(v);
}
diff --git a/crypto/src/asn1/cmp/GenMsgContent.cs b/crypto/src/asn1/cmp/GenMsgContent.cs
index 11c0c8b3b..378f8e5d6 100644
--- a/crypto/src/asn1/cmp/GenMsgContent.cs
+++ b/crypto/src/asn1/cmp/GenMsgContent.cs
@@ -17,7 +17,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static GenMsgContent GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new GenMsgContent(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
private readonly Asn1Sequence m_content;
@@ -37,10 +37,8 @@ namespace Org.BouncyCastle.Asn1.Cmp
m_content = new DerSequence(itvs);
}
- public virtual InfoTypeAndValue[] ToInfoTypeAndValueArray()
- {
- return m_content.MapElements(InfoTypeAndValue.GetInstance);
- }
+ public virtual InfoTypeAndValue[] ToInfoTypeAndValueArray() =>
+ m_content.MapElements(InfoTypeAndValue.GetInstance);
/**
* <pre>
@@ -48,9 +46,6 @@ namespace Org.BouncyCastle.Asn1.Cmp
* </pre>
* @return a basic ASN.1 object representation.
*/
- public override Asn1Object ToAsn1Object()
- {
- return m_content;
- }
+ public override Asn1Object ToAsn1Object() => m_content;
}
}
diff --git a/crypto/src/asn1/cmp/GenRepContent.cs b/crypto/src/asn1/cmp/GenRepContent.cs
index 1de37e094..f155e691e 100644
--- a/crypto/src/asn1/cmp/GenRepContent.cs
+++ b/crypto/src/asn1/cmp/GenRepContent.cs
@@ -14,7 +14,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static GenRepContent GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new GenRepContent(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
private readonly Asn1Sequence m_content;
@@ -34,10 +34,8 @@ namespace Org.BouncyCastle.Asn1.Cmp
m_content = new DerSequence(itvs);
}
- public virtual InfoTypeAndValue[] ToInfoTypeAndValueArray()
- {
- return m_content.MapElements(InfoTypeAndValue.GetInstance);
- }
+ public virtual InfoTypeAndValue[] ToInfoTypeAndValueArray() =>
+ m_content.MapElements(InfoTypeAndValue.GetInstance);
/**
* <pre>
@@ -45,9 +43,6 @@ namespace Org.BouncyCastle.Asn1.Cmp
* </pre>
* @return a basic ASN.1 object representation.
*/
- public override Asn1Object ToAsn1Object()
- {
- return m_content;
- }
+ public override Asn1Object ToAsn1Object() => m_content;
}
}
diff --git a/crypto/src/asn1/cmp/InfoTypeAndValue.cs b/crypto/src/asn1/cmp/InfoTypeAndValue.cs
index ca6dc1fe5..03e055f10 100644
--- a/crypto/src/asn1/cmp/InfoTypeAndValue.cs
+++ b/crypto/src/asn1/cmp/InfoTypeAndValue.cs
@@ -61,7 +61,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static InfoTypeAndValue GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new InfoTypeAndValue(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
private readonly DerObjectIdentifier m_infoType;
diff --git a/crypto/src/asn1/cmp/KeyRecRepContent.cs b/crypto/src/asn1/cmp/KeyRecRepContent.cs
index 8121988d2..e465346eb 100644
--- a/crypto/src/asn1/cmp/KeyRecRepContent.cs
+++ b/crypto/src/asn1/cmp/KeyRecRepContent.cs
@@ -16,7 +16,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static KeyRecRepContent GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new KeyRecRepContent(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
private readonly PkiStatusInfo m_status;
@@ -44,7 +44,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
m_keyPairHist = Asn1Sequence.GetInstance(tObj.GetExplicitBaseObject());
break;
default:
- throw new ArgumentException("unknown tag number: " + tObj.TagNo, "seq");
+ throw new ArgumentException("unknown tag number: " + tObj.TagNo);
}
}
}
@@ -53,15 +53,9 @@ namespace Org.BouncyCastle.Asn1.Cmp
public virtual CmpCertificate NewSigCert => m_newSigCert;
- public virtual CmpCertificate[] GetCACerts()
- {
- return m_caCerts?.MapElements(CmpCertificate.GetInstance);
- }
+ public virtual CmpCertificate[] GetCACerts() => m_caCerts?.MapElements(CmpCertificate.GetInstance);
- public virtual CertifiedKeyPair[] GetKeyPairHist()
- {
- return m_keyPairHist?.MapElements(CertifiedKeyPair.GetInstance);
- }
+ public virtual CertifiedKeyPair[] GetKeyPairHist() => m_keyPairHist?.MapElements(CertifiedKeyPair.GetInstance);
/**
* <pre>
@@ -78,7 +72,8 @@ namespace Org.BouncyCastle.Asn1.Cmp
*/
public override Asn1Object ToAsn1Object()
{
- Asn1EncodableVector v = new Asn1EncodableVector(m_status);
+ Asn1EncodableVector v = new Asn1EncodableVector(4);
+ v.Add(m_status);
v.AddOptionalTagged(true, 0, m_newSigCert);
v.AddOptionalTagged(true, 1, m_caCerts);
v.AddOptionalTagged(true, 2, m_keyPairHist);
diff --git a/crypto/src/asn1/cmp/NestedMessageContent.cs b/crypto/src/asn1/cmp/NestedMessageContent.cs
index fc73fac1b..35daffabe 100644
--- a/crypto/src/asn1/cmp/NestedMessageContent.cs
+++ b/crypto/src/asn1/cmp/NestedMessageContent.cs
@@ -23,7 +23,9 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static new NestedMessageContent GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+#pragma warning disable CS0618 // Type or member is obsolete
+ return new NestedMessageContent(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+#pragma warning restore CS0618 // Type or member is obsolete
}
public NestedMessageContent(PkiMessage msg)
diff --git a/crypto/src/asn1/cmp/OobCertHash.cs b/crypto/src/asn1/cmp/OobCertHash.cs
index 95cbe0cf2..1e6224612 100644
--- a/crypto/src/asn1/cmp/OobCertHash.cs
+++ b/crypto/src/asn1/cmp/OobCertHash.cs
@@ -31,7 +31,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static OobCertHash GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new OobCertHash(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
private readonly AlgorithmIdentifier m_hashAlg;
@@ -48,15 +48,19 @@ namespace Org.BouncyCastle.Asn1.Cmp
{
Asn1TaggedObject tObj = (Asn1TaggedObject)seq[i];
- if (tObj.TagNo == 0)
+ if (tObj.HasContextTag(0))
{
m_hashAlg = AlgorithmIdentifier.GetInstance(tObj, true);
}
- else
+ else if (tObj.HasContextTag(1))
{
m_certId = CertId.GetInstance(tObj, true);
}
- }
+ else
+ {
+ throw new ArgumentException("unknown tag " + Asn1Utilities.GetTagText(tObj));
+ }
+ }
}
public virtual CertId CertID => m_certId;
diff --git a/crypto/src/asn1/cmp/PKIBody.cs b/crypto/src/asn1/cmp/PKIBody.cs
index 467a78c8d..19a1a03a1 100644
--- a/crypto/src/asn1/cmp/PKIBody.cs
+++ b/crypto/src/asn1/cmp/PKIBody.cs
@@ -202,9 +202,6 @@ namespace Org.BouncyCastle.Asn1.Cmp
* </pre>
* @return a basic ASN.1 object representation.
*/
- public override Asn1Object ToAsn1Object()
- {
- return new DerTaggedObject(true, m_tagNo, m_body);
- }
+ public override Asn1Object ToAsn1Object() => new DerTaggedObject(true, m_tagNo, m_body);
}
}
diff --git a/crypto/src/asn1/cmp/PKIConfirmContent.cs b/crypto/src/asn1/cmp/PKIConfirmContent.cs
index 34a66f3f7..6cc5b6ae6 100644
--- a/crypto/src/asn1/cmp/PKIConfirmContent.cs
+++ b/crypto/src/asn1/cmp/PKIConfirmContent.cs
@@ -19,7 +19,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static PkiConfirmContent GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Null.GetInstance(taggedObject, declaredExplicit));
+ return new PkiConfirmContent(Asn1Null.GetInstance(taggedObject, declaredExplicit));
}
private readonly Asn1Null m_val;
@@ -40,9 +40,6 @@ namespace Org.BouncyCastle.Asn1.Cmp
* </pre>
* @return a basic ASN.1 object representation.
*/
- public override Asn1Object ToAsn1Object()
- {
- return m_val;
- }
+ public override Asn1Object ToAsn1Object() => m_val;
}
}
diff --git a/crypto/src/asn1/cmp/PKIFreeText.cs b/crypto/src/asn1/cmp/PKIFreeText.cs
index f4d7e0967..a567852e4 100644
--- a/crypto/src/asn1/cmp/PKIFreeText.cs
+++ b/crypto/src/asn1/cmp/PKIFreeText.cs
@@ -16,7 +16,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static PkiFreeText GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new PkiFreeText(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
private readonly Asn1Sequence m_strings;
@@ -65,19 +65,13 @@ namespace Org.BouncyCastle.Asn1.Cmp
* @param index index of the string of interest
* @return the string at index.
*/
- public DerUtf8String this[int index]
- {
- get { return (DerUtf8String)m_strings[index]; }
- }
+ public DerUtf8String this[int index] => (DerUtf8String)m_strings[index];
/**
* <pre>
* PkiFreeText ::= SEQUENCE SIZE (1..MAX) OF UTF8String
* </pre>
*/
- public override Asn1Object ToAsn1Object()
- {
- return m_strings;
- }
+ public override Asn1Object ToAsn1Object() => m_strings;
}
}
diff --git a/crypto/src/asn1/cmp/PKIHeader.cs b/crypto/src/asn1/cmp/PKIHeader.cs
index 6914ae613..c000c8b98 100644
--- a/crypto/src/asn1/cmp/PKIHeader.cs
+++ b/crypto/src/asn1/cmp/PKIHeader.cs
@@ -1,7 +1,6 @@
using System;
using Org.BouncyCastle.Asn1.X509;
-using Org.BouncyCastle.Utilities;
namespace Org.BouncyCastle.Asn1.Cmp
{
@@ -27,7 +26,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static PkiHeader GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new PkiHeader(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
private readonly DerInteger pvno;
@@ -52,8 +51,8 @@ namespace Org.BouncyCastle.Asn1.Cmp
for (int pos = 3; pos < seq.Count; ++pos)
{
Asn1TaggedObject tObj = Asn1TaggedObject.GetInstance(seq[pos]);
- if (Asn1Tags.ContextSpecific != tObj.TagClass)
- continue;
+ if (!tObj.HasContextTag())
+ throw new ArgumentException("unknown tag: " + Asn1Utilities.GetTagText(tObj));
switch (tObj.TagNo)
{
@@ -85,7 +84,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
generalInfo = Asn1Sequence.GetInstance(tObj, true);
break;
default:
- throw new ArgumentException("unknown tag number: " + tObj.TagNo, nameof(seq));
+ throw new ArgumentException("unknown tag number: " + tObj.TagNo);
}
}
}
diff --git a/crypto/src/asn1/cmp/PKIHeaderBuilder.cs b/crypto/src/asn1/cmp/PKIHeaderBuilder.cs
index 6c7a2db63..914c8a8fa 100644
--- a/crypto/src/asn1/cmp/PKIHeaderBuilder.cs
+++ b/crypto/src/asn1/cmp/PKIHeaderBuilder.cs
@@ -176,7 +176,8 @@ namespace Org.BouncyCastle.Asn1.Cmp
*/
public virtual PkiHeader Build()
{
- Asn1EncodableVector v = new Asn1EncodableVector(pvno, sender, recipient);
+ Asn1EncodableVector v = new Asn1EncodableVector(12);
+ v.Add(pvno, sender, recipient);
v.AddOptionalTagged(true, 0, messageTime);
v.AddOptionalTagged(true, 1, protectionAlg);
v.AddOptionalTagged(true, 2, senderKID);
diff --git a/crypto/src/asn1/cmp/PKIMessage.cs b/crypto/src/asn1/cmp/PKIMessage.cs
index 2265dd9b2..e835b6f16 100644
--- a/crypto/src/asn1/cmp/PKIMessage.cs
+++ b/crypto/src/asn1/cmp/PKIMessage.cs
@@ -16,18 +16,18 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static PkiMessage GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new PkiMessage(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
- private readonly PkiHeader header;
- private readonly PkiBody body;
- private readonly DerBitString protection;
- private readonly Asn1Sequence extraCerts;
+ private readonly PkiHeader m_header;
+ private readonly PkiBody m_body;
+ private readonly DerBitString m_protection;
+ private readonly Asn1Sequence m_extraCerts;
private PkiMessage(Asn1Sequence seq)
{
- header = PkiHeader.GetInstance(seq[0]);
- body = PkiBody.GetInstance(seq[1]);
+ m_header = PkiHeader.GetInstance(seq[0]);
+ m_body = PkiBody.GetInstance(seq[1]);
for (int pos = 2; pos < seq.Count; ++pos)
{
@@ -35,11 +35,11 @@ namespace Org.BouncyCastle.Asn1.Cmp
if (tObj.HasContextTag(0))
{
- protection = DerBitString.GetInstance(tObj, true);
+ m_protection = DerBitString.GetInstance(tObj, true);
}
else if (tObj.HasContextTag(1))
{
- extraCerts = Asn1Sequence.GetInstance(tObj, true);
+ m_extraCerts = Asn1Sequence.GetInstance(tObj, true);
}
}
}
@@ -52,55 +52,34 @@ namespace Org.BouncyCastle.Asn1.Cmp
* @param protection message protection (may be null)
* @param extraCerts extra certificates (may be null)
*/
- public PkiMessage(
- PkiHeader header,
- PkiBody body,
- DerBitString protection,
- CmpCertificate[] extraCerts)
+ public PkiMessage(PkiHeader header, PkiBody body, DerBitString protection, CmpCertificate[] extraCerts)
{
- this.header = header;
- this.body = body;
- this.protection = protection;
+ m_header = header;
+ m_body = body;
+ m_protection = protection;
if (extraCerts != null)
{
- this.extraCerts = new DerSequence(extraCerts);
+ m_extraCerts = new DerSequence(extraCerts);
}
}
- public PkiMessage(
- PkiHeader header,
- PkiBody body,
- DerBitString protection)
+ public PkiMessage(PkiHeader header, PkiBody body, DerBitString protection)
: this(header, body, protection, null)
{
}
- public PkiMessage(
- PkiHeader header,
- PkiBody body)
+ public PkiMessage(PkiHeader header, PkiBody body)
: this(header, body, null, null)
{
}
- public virtual PkiHeader Header
- {
- get { return header; }
- }
+ public virtual PkiHeader Header => m_header;
- public virtual PkiBody Body
- {
- get { return body; }
- }
+ public virtual PkiBody Body => m_body;
- public virtual DerBitString Protection
- {
- get { return protection; }
- }
+ public virtual DerBitString Protection => m_protection;
- public virtual CmpCertificate[] GetExtraCerts()
- {
- return extraCerts?.MapElements(CmpCertificate.GetInstance);
- }
+ public virtual CmpCertificate[] GetExtraCerts() => m_extraCerts?.MapElements(CmpCertificate.GetInstance);
/**
* <pre>
@@ -116,9 +95,10 @@ namespace Org.BouncyCastle.Asn1.Cmp
*/
public override Asn1Object ToAsn1Object()
{
- Asn1EncodableVector v = new Asn1EncodableVector(header, body);
- v.AddOptionalTagged(true, 0, protection);
- v.AddOptionalTagged(true, 1, extraCerts);
+ Asn1EncodableVector v = new Asn1EncodableVector(4);
+ v.Add(m_header, m_body);
+ v.AddOptionalTagged(true, 0, m_protection);
+ v.AddOptionalTagged(true, 1, m_extraCerts);
return new DerSequence(v);
}
}
diff --git a/crypto/src/asn1/cmp/PKIMessages.cs b/crypto/src/asn1/cmp/PKIMessages.cs
index ea7550b9a..1396b615c 100644
--- a/crypto/src/asn1/cmp/PKIMessages.cs
+++ b/crypto/src/asn1/cmp/PKIMessages.cs
@@ -18,7 +18,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static PkiMessages GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new PkiMessages(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
private Asn1Sequence m_content;
@@ -38,10 +38,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
m_content = new DerSequence(msgs);
}
- public virtual PkiMessage[] ToPkiMessageArray()
- {
- return m_content.MapElements(PkiMessage.GetInstance);
- }
+ public virtual PkiMessage[] ToPkiMessageArray() => m_content.MapElements(PkiMessage.GetInstance);
/**
* <pre>
@@ -49,9 +46,6 @@ namespace Org.BouncyCastle.Asn1.Cmp
* </pre>
* @return a basic ASN.1 object representation.
*/
- public override Asn1Object ToAsn1Object()
- {
- return m_content;
- }
+ public override Asn1Object ToAsn1Object() => m_content;
}
}
diff --git a/crypto/src/asn1/cmp/PKIStatus.cs b/crypto/src/asn1/cmp/PKIStatus.cs
index 72b0c7403..0a7e9e958 100644
--- a/crypto/src/asn1/cmp/PKIStatus.cs
+++ b/crypto/src/asn1/cmp/PKIStatus.cs
@@ -41,7 +41,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
return GetInstance(DerInteger.GetInstance(taggedObject, declaredExplicit));
}
- private readonly DerInteger status;
+ private readonly DerInteger m_status;
private PkiStatusEncodable(PkiStatus status)
: this(new DerInteger((int)status))
@@ -50,17 +50,11 @@ namespace Org.BouncyCastle.Asn1.Cmp
private PkiStatusEncodable(DerInteger status)
{
- this.status = status;
+ m_status = status;
}
- public virtual BigInteger Value
- {
- get { return status.Value; }
- }
+ public virtual BigInteger Value => m_status.Value;
- public override Asn1Object ToAsn1Object()
- {
- return status;
- }
+ public override Asn1Object ToAsn1Object() => m_status;
}
}
diff --git a/crypto/src/asn1/cmp/PKIStatusInfo.cs b/crypto/src/asn1/cmp/PKIStatusInfo.cs
index 17473efc8..fbd180c6d 100644
--- a/crypto/src/asn1/cmp/PKIStatusInfo.cs
+++ b/crypto/src/asn1/cmp/PKIStatusInfo.cs
@@ -20,63 +20,68 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static PkiStatusInfo GetInstance(Asn1TaggedObject obj, bool isExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(obj, isExplicit));
+#pragma warning disable CS0618 // Type or member is obsolete
+ return new PkiStatusInfo(Asn1Sequence.GetInstance(obj, isExplicit));
+#pragma warning restore CS0618 // Type or member is obsolete
}
- private readonly DerInteger status;
- private readonly PkiFreeText statusString;
- private readonly DerBitString failInfo;
+ private readonly DerInteger m_status;
+ private readonly PkiFreeText m_statusString;
+ private readonly DerBitString m_failInfo;
[Obsolete("Use 'GetInstance' instead")]
public PkiStatusInfo(Asn1Sequence seq)
{
- this.status = DerInteger.GetInstance(seq[0]);
+ m_status = DerInteger.GetInstance(seq[0]);
- this.statusString = null;
- this.failInfo = null;
+ m_statusString = null;
+ m_failInfo = null;
if (seq.Count > 2)
{
- this.statusString = PkiFreeText.GetInstance(seq[1]);
- this.failInfo = DerBitString.GetInstance(seq[2]);
+ m_statusString = PkiFreeText.GetInstance(seq[1]);
+ m_failInfo = DerBitString.GetInstance(seq[2]);
}
else if (seq.Count > 1)
{
object obj = seq[1];
if (obj is DerBitString)
{
- this.failInfo = DerBitString.GetInstance(obj);
+ m_failInfo = DerBitString.GetInstance(obj);
}
else
{
- this.statusString = PkiFreeText.GetInstance(obj);
+ m_statusString = PkiFreeText.GetInstance(obj);
}
}
}
public PkiStatusInfo(int status)
{
- this.status = new DerInteger(status);
+ m_status = new DerInteger(status);
+ m_statusString = null;
+ m_failInfo = null;
}
public PkiStatusInfo(int status, PkiFreeText statusString)
{
- this.status = new DerInteger(status);
- this.statusString = statusString;
- }
+ m_status = new DerInteger(status);
+ m_statusString = statusString;
+ m_failInfo = null;
+ }
public PkiStatusInfo(int status, PkiFreeText statusString, PkiFailureInfo failInfo)
{
- this.status = new DerInteger(status);
- this.statusString = statusString;
- this.failInfo = failInfo;
+ m_status = new DerInteger(status);
+ m_statusString = statusString;
+ m_failInfo = failInfo;
}
- public BigInteger Status => status.Value;
+ public BigInteger Status => m_status.Value;
- public PkiFreeText StatusString => statusString;
+ public PkiFreeText StatusString => m_statusString;
- public DerBitString FailInfo => failInfo;
+ public DerBitString FailInfo => m_failInfo;
/**
* <pre>
@@ -111,8 +116,9 @@ namespace Org.BouncyCastle.Asn1.Cmp
*/
public override Asn1Object ToAsn1Object()
{
- Asn1EncodableVector v = new Asn1EncodableVector(status);
- v.AddOptional(statusString, failInfo);
+ Asn1EncodableVector v = new Asn1EncodableVector(3);
+ v.Add(m_status);
+ v.AddOptional(m_statusString, m_failInfo);
return new DerSequence(v);
}
}
diff --git a/crypto/src/asn1/cmp/PbmParameter.cs b/crypto/src/asn1/cmp/PbmParameter.cs
index ae3fb5f8e..aeb91d7d0 100644
--- a/crypto/src/asn1/cmp/PbmParameter.cs
+++ b/crypto/src/asn1/cmp/PbmParameter.cs
@@ -1,6 +1,4 @@
-using System;
-
-using Org.BouncyCastle.Asn1.X509;
+using Org.BouncyCastle.Asn1.X509;
namespace Org.BouncyCastle.Asn1.Cmp
{
@@ -35,7 +33,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static PbmParameter GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new PbmParameter(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
private readonly Asn1OctetString m_salt;
@@ -93,9 +91,6 @@ namespace Org.BouncyCastle.Asn1.Cmp
* </pre>
* @return a basic ASN.1 object representation.
*/
- public override Asn1Object ToAsn1Object()
- {
- return new DerSequence(m_salt, m_owf, m_iterationCount, m_mac);
- }
+ public override Asn1Object ToAsn1Object() => new DerSequence(m_salt, m_owf, m_iterationCount, m_mac);
}
}
diff --git a/crypto/src/asn1/cmp/PollRepContent.cs b/crypto/src/asn1/cmp/PollRepContent.cs
index e8af7b7e9..e81ce3278 100644
--- a/crypto/src/asn1/cmp/PollRepContent.cs
+++ b/crypto/src/asn1/cmp/PollRepContent.cs
@@ -20,7 +20,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static PollRepContent GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new PollRepContent(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
private readonly DerInteger[] m_certReqID;
diff --git a/crypto/src/asn1/cmp/PollReqContent.cs b/crypto/src/asn1/cmp/PollReqContent.cs
index 31320416e..ab89d26ec 100644
--- a/crypto/src/asn1/cmp/PollReqContent.cs
+++ b/crypto/src/asn1/cmp/PollReqContent.cs
@@ -16,7 +16,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static PollReqContent GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new PollReqContent(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
private readonly Asn1Sequence m_content;
@@ -85,10 +85,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
* </pre>
* @return a basic ASN.1 object representation.
*/
- public override Asn1Object ToAsn1Object()
- {
- return m_content;
- }
+ public override Asn1Object ToAsn1Object() => m_content;
private static DerSequence[] IntsToSequence(DerInteger[] ids)
{
diff --git a/crypto/src/asn1/cmp/PopoDecKeyChallContent.cs b/crypto/src/asn1/cmp/PopoDecKeyChallContent.cs
index 20dadd232..56f88af3d 100644
--- a/crypto/src/asn1/cmp/PopoDecKeyChallContent.cs
+++ b/crypto/src/asn1/cmp/PopoDecKeyChallContent.cs
@@ -16,7 +16,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static PopoDecKeyChallContent GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new PopoDecKeyChallContent(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
private readonly Asn1Sequence m_content;
@@ -26,10 +26,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
m_content = seq;
}
- public virtual Challenge[] ToChallengeArray()
- {
- return m_content.MapElements(Challenge.GetInstance);
- }
+ public virtual Challenge[] ToChallengeArray() => m_content.MapElements(Challenge.GetInstance);
/**
* <pre>
@@ -37,9 +34,6 @@ namespace Org.BouncyCastle.Asn1.Cmp
* </pre>
* @return a basic ASN.1 object representation.
*/
- public override Asn1Object ToAsn1Object()
- {
- return m_content;
- }
+ public override Asn1Object ToAsn1Object() => m_content;
}
}
diff --git a/crypto/src/asn1/cmp/PopoDecKeyRespContent.cs b/crypto/src/asn1/cmp/PopoDecKeyRespContent.cs
index 8344e4ae9..a77cc15cd 100644
--- a/crypto/src/asn1/cmp/PopoDecKeyRespContent.cs
+++ b/crypto/src/asn1/cmp/PopoDecKeyRespContent.cs
@@ -14,7 +14,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static PopoDecKeyRespContent GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new PopoDecKeyRespContent(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
private readonly Asn1Sequence m_content;
@@ -24,10 +24,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
m_content = seq;
}
- public virtual DerInteger[] ToIntegerArray()
- {
- return m_content.MapElements(DerInteger.GetInstance);
- }
+ public virtual DerInteger[] ToIntegerArray() => m_content.MapElements(DerInteger.GetInstance);
/**
* <pre>
@@ -35,9 +32,6 @@ namespace Org.BouncyCastle.Asn1.Cmp
* </pre>
* @return a basic ASN.1 object representation.
*/
- public override Asn1Object ToAsn1Object()
- {
- return m_content;
- }
+ public override Asn1Object ToAsn1Object() => m_content;
}
}
diff --git a/crypto/src/asn1/cmp/ProtectedPart.cs b/crypto/src/asn1/cmp/ProtectedPart.cs
index 863a85e17..e6b6311df 100644
--- a/crypto/src/asn1/cmp/ProtectedPart.cs
+++ b/crypto/src/asn1/cmp/ProtectedPart.cs
@@ -14,7 +14,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static ProtectedPart GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new ProtectedPart(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
private readonly PkiHeader m_header;
@@ -45,9 +45,6 @@ namespace Org.BouncyCastle.Asn1.Cmp
* </pre>
* @return a basic ASN.1 object representation.
*/
- public override Asn1Object ToAsn1Object()
- {
- return new DerSequence(m_header, m_body);
- }
+ public override Asn1Object ToAsn1Object() => new DerSequence(m_header, m_body);
}
}
diff --git a/crypto/src/asn1/cmp/RevAnnContent.cs b/crypto/src/asn1/cmp/RevAnnContent.cs
index 1d3957759..5ac731fb8 100644
--- a/crypto/src/asn1/cmp/RevAnnContent.cs
+++ b/crypto/src/asn1/cmp/RevAnnContent.cs
@@ -3,7 +3,7 @@ using Org.BouncyCastle.Asn1.X509;
namespace Org.BouncyCastle.Asn1.Cmp
{
- public class RevAnnContent
+ public class RevAnnContent
: Asn1Encodable
{
public static RevAnnContent GetInstance(object obj)
@@ -17,7 +17,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static RevAnnContent GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new RevAnnContent(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
private readonly PkiStatusEncodable m_status;
@@ -80,7 +80,8 @@ namespace Org.BouncyCastle.Asn1.Cmp
*/
public override Asn1Object ToAsn1Object()
{
- Asn1EncodableVector v = new Asn1EncodableVector(m_status, m_certID, m_willBeRevokedAt, m_badSinceDate);
+ Asn1EncodableVector v = new Asn1EncodableVector(5);
+ v.Add(m_status, m_certID, m_willBeRevokedAt, m_badSinceDate);
v.AddOptional(m_crlDetails);
return new DerSequence(v);
}
diff --git a/crypto/src/asn1/cmp/RevDetails.cs b/crypto/src/asn1/cmp/RevDetails.cs
index 79b30044a..718a9ef71 100644
--- a/crypto/src/asn1/cmp/RevDetails.cs
+++ b/crypto/src/asn1/cmp/RevDetails.cs
@@ -29,7 +29,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static RevDetails GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new RevDetails(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
private readonly CertTemplate m_certDetails;
@@ -75,7 +75,8 @@ namespace Org.BouncyCastle.Asn1.Cmp
*/
public override Asn1Object ToAsn1Object()
{
- Asn1EncodableVector v = new Asn1EncodableVector(m_certDetails);
+ Asn1EncodableVector v = new Asn1EncodableVector(2);
+ v.Add(m_certDetails);
v.AddOptional(m_crlEntryDetails);
return new DerSequence(v);
}
diff --git a/crypto/src/asn1/cmp/RevRepContent.cs b/crypto/src/asn1/cmp/RevRepContent.cs
index 762df12cd..ae1d0baed 100644
--- a/crypto/src/asn1/cmp/RevRepContent.cs
+++ b/crypto/src/asn1/cmp/RevRepContent.cs
@@ -31,7 +31,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static RevRepContent GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new RevRepContent(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
private readonly Asn1Sequence m_status;
@@ -57,20 +57,11 @@ namespace Org.BouncyCastle.Asn1.Cmp
}
}
- public virtual PkiStatusInfo[] GetStatus()
- {
- return m_status.MapElements(PkiStatusInfo.GetInstance);
- }
+ public virtual PkiStatusInfo[] GetStatus() => m_status.MapElements(PkiStatusInfo.GetInstance);
- public virtual CertId[] GetRevCerts()
- {
- return m_revCerts?.MapElements(CertId.GetInstance);
- }
+ public virtual CertId[] GetRevCerts() => m_revCerts?.MapElements(CertId.GetInstance);
- public virtual CertificateList[] GetCrls()
- {
- return m_crls?.MapElements(CertificateList.GetInstance);
- }
+ public virtual CertificateList[] GetCrls() => m_crls?.MapElements(CertificateList.GetInstance);
/**
* <pre>
@@ -88,7 +79,8 @@ namespace Org.BouncyCastle.Asn1.Cmp
*/
public override Asn1Object ToAsn1Object()
{
- Asn1EncodableVector v = new Asn1EncodableVector(m_status);
+ Asn1EncodableVector v = new Asn1EncodableVector(3);
+ v.Add(m_status);
v.AddOptionalTagged(true, 0, m_revCerts);
v.AddOptionalTagged(true, 1, m_crls);
return new DerSequence(v);
diff --git a/crypto/src/asn1/cmp/RevRepContentBuilder.cs b/crypto/src/asn1/cmp/RevRepContentBuilder.cs
index 4ff85483e..2aa127dd3 100644
--- a/crypto/src/asn1/cmp/RevRepContentBuilder.cs
+++ b/crypto/src/asn1/cmp/RevRepContentBuilder.cs
@@ -5,7 +5,7 @@ using Org.BouncyCastle.Asn1.X509;
namespace Org.BouncyCastle.Asn1.Cmp
{
- public class RevRepContentBuilder
+ public class RevRepContentBuilder
{
private readonly Asn1EncodableVector m_status = new Asn1EncodableVector();
private readonly Asn1EncodableVector m_revCerts = new Asn1EncodableVector();
diff --git a/crypto/src/asn1/cmp/RevReqContent.cs b/crypto/src/asn1/cmp/RevReqContent.cs
index eea65869e..125fd8bdc 100644
--- a/crypto/src/asn1/cmp/RevReqContent.cs
+++ b/crypto/src/asn1/cmp/RevReqContent.cs
@@ -14,7 +14,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static RevReqContent GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new RevReqContent(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
private readonly Asn1Sequence m_content;
@@ -34,10 +34,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
m_content = new DerSequence(revDetailsArray);
}
- public virtual RevDetails[] ToRevDetailsArray()
- {
- return m_content.MapElements(RevDetails.GetInstance);
- }
+ public virtual RevDetails[] ToRevDetailsArray() => m_content.MapElements(RevDetails.GetInstance);
/**
* <pre>
@@ -45,9 +42,6 @@ namespace Org.BouncyCastle.Asn1.Cmp
* </pre>
* @return a basic ASN.1 object representation.
*/
- public override Asn1Object ToAsn1Object()
- {
- return m_content;
- }
+ public override Asn1Object ToAsn1Object() => m_content;
}
}
diff --git a/crypto/src/asn1/cmp/RootCaKeyUpdateContent.cs b/crypto/src/asn1/cmp/RootCaKeyUpdateContent.cs
index 64da80d6c..f00090f23 100644
--- a/crypto/src/asn1/cmp/RootCaKeyUpdateContent.cs
+++ b/crypto/src/asn1/cmp/RootCaKeyUpdateContent.cs
@@ -31,7 +31,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public static RootCaKeyUpdateContent GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new RootCaKeyUpdateContent(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
private readonly CmpCertificate m_newWithNew;
@@ -40,10 +40,7 @@ namespace Org.BouncyCastle.Asn1.Cmp
public RootCaKeyUpdateContent(CmpCertificate newWithNew, CmpCertificate newWithOld, CmpCertificate oldWithNew)
{
- if (newWithNew == null)
- throw new ArgumentNullException(nameof(newWithNew));
-
- m_newWithNew = newWithNew;
+ m_newWithNew = newWithNew ?? throw new ArgumentNullException(nameof(newWithNew));
m_newWithOld = newWithOld;
m_oldWithNew = oldWithNew;
}
@@ -84,7 +81,8 @@ namespace Org.BouncyCastle.Asn1.Cmp
public override Asn1Object ToAsn1Object()
{
- Asn1EncodableVector v = new Asn1EncodableVector(m_newWithNew);
+ Asn1EncodableVector v = new Asn1EncodableVector(3);
+ v.Add(m_newWithNew);
v.AddOptionalTagged(true, 0, m_newWithOld);
v.AddOptionalTagged(true, 1, m_oldWithNew);
return new DerSequence(v);
|