diff options
Diffstat (limited to 'crypto/src')
-rw-r--r-- | crypto/src/asn1/cms/AuthenticatedData.cs | 8 | ||||
-rw-r--r-- | crypto/src/asn1/cms/Evidence.cs | 8 | ||||
-rw-r--r-- | crypto/src/asn1/cms/OriginatorIdentifierOrKey.cs | 23 | ||||
-rw-r--r-- | crypto/src/asn1/cms/RecipientInfo.cs | 66 | ||||
-rw-r--r-- | crypto/src/asn1/cms/SignedData.cs | 4 | ||||
-rw-r--r-- | crypto/src/asn1/cms/SignerIdentifier.cs | 12 | ||||
-rw-r--r-- | crypto/src/asn1/crmf/PKIArchiveOptions.cs | 8 | ||||
-rw-r--r-- | crypto/src/asn1/crmf/PopoSigningKey.cs | 11 | ||||
-rw-r--r-- | crypto/src/asn1/crmf/PopoSigningKeyInput.cs | 8 | ||||
-rw-r--r-- | crypto/src/asn1/crmf/ProofOfPossession.cs | 8 | ||||
-rw-r--r-- | crypto/src/asn1/isismtt/ocsp/RequestedCertificate.cs | 20 | ||||
-rw-r--r-- | crypto/src/asn1/ocsp/CertStatus.cs | 20 | ||||
-rw-r--r-- | crypto/src/asn1/ocsp/TBSRequest.cs | 9 | ||||
-rw-r--r-- | crypto/src/asn1/x509/AttCertIssuer.cs | 49 | ||||
-rw-r--r-- | crypto/src/asn1/x509/Holder.cs | 27 | ||||
-rw-r--r-- | crypto/src/asn1/x509/IetfAttrSyntax.cs | 4 | ||||
-rw-r--r-- | crypto/src/asn1/x509/Target.cs | 25 | ||||
-rw-r--r-- | crypto/src/asn1/x509/X509Extensions.cs | 28 |
18 files changed, 152 insertions, 186 deletions
diff --git a/crypto/src/asn1/cms/AuthenticatedData.cs b/crypto/src/asn1/cms/AuthenticatedData.cs index 6ec8061e2..709617063 100644 --- a/crypto/src/asn1/cms/AuthenticatedData.cs +++ b/crypto/src/asn1/cms/AuthenticatedData.cs @@ -214,10 +214,8 @@ namespace Org.BouncyCastle.Asn1.Cms foreach (object obj in origInfo.Certificates) { - if (obj is Asn1TaggedObject) + if (obj is Asn1TaggedObject tag) { - Asn1TaggedObject tag = (Asn1TaggedObject)obj; - if (tag.TagNo == 2) { ver = 1; @@ -232,10 +230,8 @@ namespace Org.BouncyCastle.Asn1.Cms foreach (object obj in origInfo.Crls) { - if (obj is Asn1TaggedObject) + if (obj is Asn1TaggedObject tag) { - Asn1TaggedObject tag = (Asn1TaggedObject)obj; - if (tag.TagNo == 1) { ver = 3; diff --git a/crypto/src/asn1/cms/Evidence.cs b/crypto/src/asn1/cms/Evidence.cs index b12f090a9..2e39054d6 100644 --- a/crypto/src/asn1/cms/Evidence.cs +++ b/crypto/src/asn1/cms/Evidence.cs @@ -37,11 +37,11 @@ namespace Org.BouncyCastle.Asn1.Cms public static Evidence GetInstance(object obj) { - if (obj is Evidence) - return (Evidence)obj; + if (obj is Evidence evidence) + return evidence; - if (obj is Asn1TaggedObject) - return new Evidence(Asn1TaggedObject.GetInstance(obj)); + if (obj is Asn1TaggedObject taggedObject) + return new Evidence(taggedObject); throw new ArgumentException("Unknown object in GetInstance: " + Platform.GetTypeName(obj), "obj"); } diff --git a/crypto/src/asn1/cms/OriginatorIdentifierOrKey.cs b/crypto/src/asn1/cms/OriginatorIdentifierOrKey.cs index 296cadf94..01c5a31a1 100644 --- a/crypto/src/asn1/cms/OriginatorIdentifierOrKey.cs +++ b/crypto/src/asn1/cms/OriginatorIdentifierOrKey.cs @@ -62,20 +62,23 @@ namespace Org.BouncyCastle.Asn1.Cms public static OriginatorIdentifierOrKey GetInstance( object o) { - if (o == null || o is OriginatorIdentifierOrKey) - return (OriginatorIdentifierOrKey)o; + if (o == null) + return null; - if (o is IssuerAndSerialNumber) - return new OriginatorIdentifierOrKey((IssuerAndSerialNumber)o); + if (o is OriginatorIdentifierOrKey originatorIdentifierOrKey) + return originatorIdentifierOrKey; - if (o is SubjectKeyIdentifier) - return new OriginatorIdentifierOrKey((SubjectKeyIdentifier)o); + if (o is IssuerAndSerialNumber issuerAndSerialNumber) + return new OriginatorIdentifierOrKey(issuerAndSerialNumber); - if (o is OriginatorPublicKey) - return new OriginatorIdentifierOrKey((OriginatorPublicKey)o); + if (o is SubjectKeyIdentifier subjectKeyIdentifier) + return new OriginatorIdentifierOrKey(subjectKeyIdentifier); - if (o is Asn1TaggedObject) - return new OriginatorIdentifierOrKey((Asn1TaggedObject)o); + if (o is OriginatorPublicKey originatorPublicKey) + return new OriginatorIdentifierOrKey(originatorPublicKey); + + if (o is Asn1TaggedObject taggedObject) + return new OriginatorIdentifierOrKey(taggedObject); throw new ArgumentException("Invalid OriginatorIdentifierOrKey: " + Platform.GetTypeName(o)); } diff --git a/crypto/src/asn1/cms/RecipientInfo.cs b/crypto/src/asn1/cms/RecipientInfo.cs index c03ad907f..3f5ccea5b 100644 --- a/crypto/src/asn1/cms/RecipientInfo.cs +++ b/crypto/src/asn1/cms/RecipientInfo.cs @@ -45,17 +45,19 @@ namespace Org.BouncyCastle.Asn1.Cms this.info = info; } - public static RecipientInfo GetInstance( - object o) + public static RecipientInfo GetInstance(object o) { - if (o == null || o is RecipientInfo) - return (RecipientInfo) o; + if (o == null) + return null; - if (o is Asn1Sequence) - return new RecipientInfo((Asn1Sequence) o); + if (o is RecipientInfo recipientInfo) + return recipientInfo; - if (o is Asn1TaggedObject) - return new RecipientInfo((Asn1TaggedObject) o); + if (o is Asn1Sequence sequence) + return new RecipientInfo(sequence); + + if (o is Asn1TaggedObject taggedObject) + return new RecipientInfo(taggedObject); throw new ArgumentException("unknown object in factory: " + Platform.GetTypeName(o)); } @@ -64,22 +66,20 @@ namespace Org.BouncyCastle.Asn1.Cms { get { - if (info is Asn1TaggedObject) + if (info is Asn1TaggedObject o) { - Asn1TaggedObject o = (Asn1TaggedObject) info; - switch (o.TagNo) { - case 1: - return KeyAgreeRecipientInfo.GetInstance(o, false).Version; - case 2: - return GetKekInfo(o).Version; - case 3: - return PasswordRecipientInfo.GetInstance(o, false).Version; - case 4: - return new DerInteger(0); // no syntax version for OtherRecipientInfo - default: - throw new InvalidOperationException("unknown tag"); + case 1: + return KeyAgreeRecipientInfo.GetInstance(o, false).Version; + case 2: + return GetKekInfo(o).Version; + case 3: + return PasswordRecipientInfo.GetInstance(o, false).Version; + case 4: + return new DerInteger(0); // no syntax version for OtherRecipientInfo + default: + throw new InvalidOperationException("unknown tag"); } } @@ -96,22 +96,20 @@ namespace Org.BouncyCastle.Asn1.Cms { get { - if (info is Asn1TaggedObject) + if (info is Asn1TaggedObject o) { - Asn1TaggedObject o = (Asn1TaggedObject) info; - switch (o.TagNo) { - case 1: - return KeyAgreeRecipientInfo.GetInstance(o, false); - case 2: - return GetKekInfo(o); - case 3: - return PasswordRecipientInfo.GetInstance(o, false); - case 4: - return OtherRecipientInfo.GetInstance(o, false); - default: - throw new InvalidOperationException("unknown tag"); + case 1: + return KeyAgreeRecipientInfo.GetInstance(o, false); + case 2: + return GetKekInfo(o); + case 3: + return PasswordRecipientInfo.GetInstance(o, false); + case 4: + return OtherRecipientInfo.GetInstance(o, false); + default: + throw new InvalidOperationException("unknown tag"); } } diff --git a/crypto/src/asn1/cms/SignedData.cs b/crypto/src/asn1/cms/SignedData.cs index 6b07e5128..9018bc6fd 100644 --- a/crypto/src/asn1/cms/SignedData.cs +++ b/crypto/src/asn1/cms/SignedData.cs @@ -81,10 +81,8 @@ namespace Org.BouncyCastle.Asn1.Cms { foreach (object obj in certs) { - if (obj is Asn1TaggedObject) + if (obj is Asn1TaggedObject tagged) { - Asn1TaggedObject tagged = (Asn1TaggedObject)obj; - if (tagged.TagNo == 1) { attrCertV1Found = true; diff --git a/crypto/src/asn1/cms/SignerIdentifier.cs b/crypto/src/asn1/cms/SignerIdentifier.cs index 195ab741f..9edf6a8c8 100644 --- a/crypto/src/asn1/cms/SignerIdentifier.cs +++ b/crypto/src/asn1/cms/SignerIdentifier.cs @@ -57,20 +57,18 @@ namespace Org.BouncyCastle.Asn1.Cms get { return (id is Asn1TaggedObject); } } - public Asn1Encodable ID + public Asn1Encodable ID { get { - if (id is Asn1TaggedObject) - { - return Asn1OctetString.GetInstance((Asn1TaggedObject)id, false); - } + if (id is Asn1TaggedObject taggedObject) + return Asn1OctetString.GetInstance(taggedObject, false); - return id; + return id; } } - /** + /** * Produce an object suitable for an Asn1OutputStream. * <pre> * SignerIdentifier ::= CHOICE { diff --git a/crypto/src/asn1/crmf/PKIArchiveOptions.cs b/crypto/src/asn1/crmf/PKIArchiveOptions.cs index 1813d87a7..e546fb3bb 100644 --- a/crypto/src/asn1/crmf/PKIArchiveOptions.cs +++ b/crypto/src/asn1/crmf/PKIArchiveOptions.cs @@ -15,11 +15,11 @@ namespace Org.BouncyCastle.Asn1.Crmf public static PkiArchiveOptions GetInstance(object obj) { - if (obj is PkiArchiveOptions) - return (PkiArchiveOptions)obj; + if (obj is PkiArchiveOptions pkiArchiveOptions) + return pkiArchiveOptions; - if (obj is Asn1TaggedObject) - return new PkiArchiveOptions((Asn1TaggedObject)obj); + if (obj is Asn1TaggedObject taggedObject) + return new PkiArchiveOptions(taggedObject); throw new ArgumentException("Invalid object: " + Platform.GetTypeName(obj), "obj"); } diff --git a/crypto/src/asn1/crmf/PopoSigningKey.cs b/crypto/src/asn1/crmf/PopoSigningKey.cs index 93e14e30d..caa226b56 100644 --- a/crypto/src/asn1/crmf/PopoSigningKey.cs +++ b/crypto/src/asn1/crmf/PopoSigningKey.cs @@ -16,14 +16,13 @@ namespace Org.BouncyCastle.Asn1.Crmf { int index = 0; - if (seq[index] is Asn1TaggedObject) + if (seq[index] is Asn1TaggedObject tagObj) { - Asn1TaggedObject tagObj - = (Asn1TaggedObject) seq[index++]; + index++; + if (tagObj.TagNo != 0) - { - throw new ArgumentException( "Unknown PopoSigningKeyInput tag: " + tagObj.TagNo, "seq"); - } + throw new ArgumentException( "Unknown PopoSigningKeyInput tag: " + tagObj.TagNo, nameof(seq)); + poposkInput = PopoSigningKeyInput.GetInstance(tagObj.GetObject()); } algorithmIdentifier = AlgorithmIdentifier.GetInstance(seq[index++]); diff --git a/crypto/src/asn1/crmf/PopoSigningKeyInput.cs b/crypto/src/asn1/crmf/PopoSigningKeyInput.cs index 30d017475..f2517aa57 100644 --- a/crypto/src/asn1/crmf/PopoSigningKeyInput.cs +++ b/crypto/src/asn1/crmf/PopoSigningKeyInput.cs @@ -16,13 +16,11 @@ namespace Org.BouncyCastle.Asn1.Crmf { Asn1Encodable authInfo = (Asn1Encodable)seq[0]; - if (authInfo is Asn1TaggedObject) + if (authInfo is Asn1TaggedObject tagObj) { - Asn1TaggedObject tagObj = (Asn1TaggedObject)authInfo; if (tagObj.TagNo != 0) - { - throw new ArgumentException("Unknown authInfo tag: " + tagObj.TagNo, "seq"); - } + throw new ArgumentException("Unknown authInfo tag: " + tagObj.TagNo, nameof(seq)); + sender = GeneralName.GetInstance(tagObj.GetObject()); } else diff --git a/crypto/src/asn1/crmf/ProofOfPossession.cs b/crypto/src/asn1/crmf/ProofOfPossession.cs index 7ba7251a1..6ef62efda 100644 --- a/crypto/src/asn1/crmf/ProofOfPossession.cs +++ b/crypto/src/asn1/crmf/ProofOfPossession.cs @@ -38,11 +38,11 @@ namespace Org.BouncyCastle.Asn1.Crmf public static ProofOfPossession GetInstance(object obj) { - if (obj is ProofOfPossession) - return (ProofOfPossession)obj; + if (obj is ProofOfPossession proofOfPossession) + return proofOfPossession; - if (obj is Asn1TaggedObject) - return new ProofOfPossession((Asn1TaggedObject)obj); + if (obj is Asn1TaggedObject taggedObject) + return new ProofOfPossession(taggedObject); throw new ArgumentException("Invalid object: " + Platform.GetTypeName(obj), "obj"); } diff --git a/crypto/src/asn1/isismtt/ocsp/RequestedCertificate.cs b/crypto/src/asn1/isismtt/ocsp/RequestedCertificate.cs index 413b3bd7f..0348b0916 100644 --- a/crypto/src/asn1/isismtt/ocsp/RequestedCertificate.cs +++ b/crypto/src/asn1/isismtt/ocsp/RequestedCertificate.cs @@ -53,23 +53,19 @@ namespace Org.BouncyCastle.Asn1.IsisMtt.Ocsp private readonly byte[] publicKeyCert; private readonly byte[] attributeCert; - public static RequestedCertificate GetInstance( - object obj) + public static RequestedCertificate GetInstance(object obj) { - if (obj == null || obj is RequestedCertificate) - { - return (RequestedCertificate) obj; - } + if (obj == null) + return null; + + if (obj is RequestedCertificate requestedCertificate) + return requestedCertificate; if (obj is Asn1Sequence) - { return new RequestedCertificate(X509CertificateStructure.GetInstance(obj)); - } - if (obj is Asn1TaggedObject) - { - return new RequestedCertificate((Asn1TaggedObject) obj); - } + if (obj is Asn1TaggedObject taggedObject) + return new RequestedCertificate(taggedObject); throw new ArgumentException("unknown object in factory: " + Platform.GetTypeName(obj), "obj"); } diff --git a/crypto/src/asn1/ocsp/CertStatus.cs b/crypto/src/asn1/ocsp/CertStatus.cs index 8a4d2242d..65f11fc7f 100644 --- a/crypto/src/asn1/ocsp/CertStatus.cs +++ b/crypto/src/asn1/ocsp/CertStatus.cs @@ -54,23 +54,21 @@ namespace Org.BouncyCastle.Asn1.Ocsp } } - public static CertStatus GetInstance( - object obj) + public static CertStatus GetInstance(object obj) { - if (obj == null || obj is CertStatus) - { - return (CertStatus)obj; - } + if (obj == null) + return null; - if (obj is Asn1TaggedObject) - { - return new CertStatus((Asn1TaggedObject)obj); - } + if (obj is CertStatus certStatus) + return certStatus; + + if (obj is Asn1TaggedObject taggedObject) + return new CertStatus(taggedObject); throw new ArgumentException("unknown object in factory: " + Platform.GetTypeName(obj), "obj"); } - public int TagNo + public int TagNo { get { return tagNo; } } diff --git a/crypto/src/asn1/ocsp/TBSRequest.cs b/crypto/src/asn1/ocsp/TBSRequest.cs index fd5f153d7..8e3373f87 100644 --- a/crypto/src/asn1/ocsp/TBSRequest.cs +++ b/crypto/src/asn1/ocsp/TBSRequest.cs @@ -57,10 +57,8 @@ namespace Org.BouncyCastle.Asn1.Ocsp int index = 0; Asn1Encodable enc = seq[0]; - if (enc is Asn1TaggedObject) + if (enc is Asn1TaggedObject o) { - Asn1TaggedObject o = (Asn1TaggedObject) enc; - if (o.TagNo == 0) { versionSet = true; @@ -77,9 +75,10 @@ namespace Org.BouncyCastle.Asn1.Ocsp version = V1; } - if (seq[index] is Asn1TaggedObject) + if (seq[index] is Asn1TaggedObject taggedObject) { - requestorName = GeneralName.GetInstance((Asn1TaggedObject) seq[index++], true); + index++; + requestorName = GeneralName.GetInstance(taggedObject, true); } requestList = (Asn1Sequence) seq[index++]; diff --git a/crypto/src/asn1/x509/AttCertIssuer.cs b/crypto/src/asn1/x509/AttCertIssuer.cs index 407c4ae7a..9d74f631e 100644 --- a/crypto/src/asn1/x509/AttCertIssuer.cs +++ b/crypto/src/asn1/x509/AttCertIssuer.cs @@ -10,34 +10,33 @@ namespace Org.BouncyCastle.Asn1.X509 internal readonly Asn1Encodable obj; internal readonly Asn1Object choiceObj; - public static AttCertIssuer GetInstance( - object obj) - { - if (obj is AttCertIssuer) - { - return (AttCertIssuer)obj; - } - else if (obj is V2Form) - { - return new AttCertIssuer(V2Form.GetInstance(obj)); - } - else if (obj is GeneralNames) - { - return new AttCertIssuer((GeneralNames)obj); - } - else if (obj is Asn1TaggedObject) - { - return new AttCertIssuer(V2Form.GetInstance((Asn1TaggedObject)obj, false)); - } - else if (obj is Asn1Sequence) - { - return new AttCertIssuer(GeneralNames.GetInstance(obj)); - } + public static AttCertIssuer GetInstance(object obj) + { + if (obj is AttCertIssuer attrCertIssuer) + { + return attrCertIssuer; + } + else if (obj is V2Form v2Form) + { + return new AttCertIssuer(v2Form); + } + else if (obj is GeneralNames generalNames) + { + return new AttCertIssuer(generalNames); + } + else if (obj is Asn1TaggedObject taggedObject) + { + return new AttCertIssuer(V2Form.GetInstance(taggedObject, false)); + } + else if (obj is Asn1Sequence) + { + return new AttCertIssuer(GeneralNames.GetInstance(obj)); + } throw new ArgumentException("unknown object in factory: " + Platform.GetTypeName(obj), "obj"); - } + } - public static AttCertIssuer GetInstance( + public static AttCertIssuer GetInstance( Asn1TaggedObject obj, bool isExplicit) { diff --git a/crypto/src/asn1/x509/Holder.cs b/crypto/src/asn1/x509/Holder.cs index 90df75a0f..3da57f70f 100644 --- a/crypto/src/asn1/x509/Holder.cs +++ b/crypto/src/asn1/x509/Holder.cs @@ -42,33 +42,26 @@ namespace Org.BouncyCastle.Asn1.X509 internal readonly ObjectDigestInfo objectDigestInfo; private readonly int version; - public static Holder GetInstance( - object obj) + public static Holder GetInstance(object obj) { - if (obj is Holder) - { - return (Holder) obj; - } + if (obj is Holder holder) + return holder; - if (obj is Asn1Sequence) - { - return new Holder((Asn1Sequence) obj); - } + if (obj is Asn1Sequence sequence) + return new Holder(sequence); - if (obj is Asn1TaggedObject) - { - return new Holder((Asn1TaggedObject) obj); - } + if (obj is Asn1TaggedObject taggedObject) + return new Holder(taggedObject); throw new ArgumentException("unknown object in factory: " + Platform.GetTypeName(obj), "obj"); - } + } - /** + /** * Constructor for a holder for an v1 attribute certificate. * * @param tagObj The ASN.1 tagged holder object. */ - public Holder( + public Holder( Asn1TaggedObject tagObj) { switch (tagObj.TagNo) diff --git a/crypto/src/asn1/x509/IetfAttrSyntax.cs b/crypto/src/asn1/x509/IetfAttrSyntax.cs index 024c8dd68..a59877163 100644 --- a/crypto/src/asn1/x509/IetfAttrSyntax.cs +++ b/crypto/src/asn1/x509/IetfAttrSyntax.cs @@ -25,9 +25,9 @@ namespace Org.BouncyCastle.Asn1.X509 { int i = 0; - if (seq[0] is Asn1TaggedObject) + if (seq[0] is Asn1TaggedObject taggedObject) { - policyAuthority = GeneralNames.GetInstance(((Asn1TaggedObject)seq[0]), false); + policyAuthority = GeneralNames.GetInstance(taggedObject, false); i++; } else if (seq.Count == 2) diff --git a/crypto/src/asn1/x509/Target.cs b/crypto/src/asn1/x509/Target.cs index 7c4f9db7e..eff740143 100644 --- a/crypto/src/asn1/x509/Target.cs +++ b/crypto/src/asn1/x509/Target.cs @@ -32,7 +32,7 @@ namespace Org.BouncyCastle.Asn1.X509 private readonly GeneralName targetName; private readonly GeneralName targetGroup; - /** + /** * Creates an instance of a Target from the given object. * <p> * <code>obj</code> can be a Target or a {@link Asn1TaggedObject}</p> @@ -42,29 +42,24 @@ namespace Org.BouncyCastle.Asn1.X509 * @throws ArgumentException if the given object cannot be * interpreted as Target. */ - public static Target GetInstance( - object obj) - { - if (obj is Target) - { - return (Target) obj; - } + public static Target GetInstance(object obj) + { + if (obj is Target target) + return target; - if (obj is Asn1TaggedObject) - { - return new Target((Asn1TaggedObject) obj); - } + if (obj is Asn1TaggedObject taggedObject) + return new Target(taggedObject); throw new ArgumentException("unknown object in factory: " + Platform.GetTypeName(obj), "obj"); - } + } - /** + /** * Constructor from Asn1TaggedObject. * * @param tagObj The tagged object. * @throws ArgumentException if the encoding is wrong. */ - private Target( + private Target( Asn1TaggedObject tagObj) { switch ((Choice) tagObj.TagNo) diff --git a/crypto/src/asn1/x509/X509Extensions.cs b/crypto/src/asn1/x509/X509Extensions.cs index 62291a829..390bf46b7 100644 --- a/crypto/src/asn1/x509/X509Extensions.cs +++ b/crypto/src/asn1/x509/X509Extensions.cs @@ -203,28 +203,24 @@ namespace Org.BouncyCastle.Asn1.X509 return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit)); } - public static X509Extensions GetInstance( - object obj) + public static X509Extensions GetInstance(object obj) { - if (obj == null || obj is X509Extensions) - { - return (X509Extensions) obj; - } + if (obj == null) + return null; - if (obj is Asn1Sequence) - { - return new X509Extensions((Asn1Sequence) obj); - } + if (obj is X509Extensions x509Extensions) + return x509Extensions; - if (obj is Asn1TaggedObject) - { - return GetInstance(((Asn1TaggedObject) obj).GetObject()); - } + if (obj is Asn1Sequence sequence) + return new X509Extensions(sequence); + + if (obj is Asn1TaggedObject taggedObject) + return GetInstance(taggedObject.GetObject()); throw new ArgumentException("unknown object in factory: " + Platform.GetTypeName(obj), "obj"); - } + } - /** + /** * Constructor from Asn1Sequence. * * the extensions are a list of constructed sequences, either with (Oid, OctetString) or (Oid, Boolean, OctetString) |