diff options
author | Peter Dettman <peter.dettman@bouncycastle.org> | 2024-06-05 18:33:27 +0700 |
---|---|---|
committer | Peter Dettman <peter.dettman@bouncycastle.org> | 2024-06-05 18:33:27 +0700 |
commit | 215f7bad529b793fc0369fec0dad541d1f93ca7e (patch) | |
tree | b56e5bf37b9124b1a1ff2e6bd8c21e246d508638 /crypto/src/asn1/crmf | |
parent | ASN.1: GetOptional method for all universal types (diff) | |
download | BouncyCastle.NET-ed25519-215f7bad529b793fc0369fec0dad541d1f93ca7e.tar.xz |
Refactoring in Asn1.Cmp
Diffstat (limited to 'crypto/src/asn1/crmf')
-rw-r--r-- | crypto/src/asn1/crmf/Controls.cs | 3 | ||||
-rw-r--r-- | crypto/src/asn1/crmf/PKIArchiveOptions.cs | 3 | ||||
-rw-r--r-- | crypto/src/asn1/crmf/PopoPrivKey.cs | 3 | ||||
-rw-r--r-- | crypto/src/asn1/crmf/ProofOfPossession.cs | 3 |
4 files changed, 12 insertions, 0 deletions
diff --git a/crypto/src/asn1/crmf/Controls.cs b/crypto/src/asn1/crmf/Controls.cs index 12954f5e8..fd3609cf1 100644 --- a/crypto/src/asn1/crmf/Controls.cs +++ b/crypto/src/asn1/crmf/Controls.cs @@ -23,11 +23,14 @@ namespace Org.BouncyCastle.Asn1.Crmf { if (element == null) throw new ArgumentNullException(nameof(element)); + if (element is Controls controls) return controls; + Asn1Sequence asn1Sequence = Asn1Sequence.GetOptional(element); if (asn1Sequence != null) return new Controls(asn1Sequence); + return null; } diff --git a/crypto/src/asn1/crmf/PKIArchiveOptions.cs b/crypto/src/asn1/crmf/PKIArchiveOptions.cs index 7f756b39a..a702d6dc2 100644 --- a/crypto/src/asn1/crmf/PKIArchiveOptions.cs +++ b/crypto/src/asn1/crmf/PKIArchiveOptions.cs @@ -35,14 +35,17 @@ namespace Org.BouncyCastle.Asn1.Crmf { if (element == null) throw new ArgumentNullException(nameof(element)); + if (element is PkiArchiveOptions pkiArchiveOptions) return pkiArchiveOptions; + if (element is Asn1TaggedObject taggedObject) { Asn1Encodable baseObject = GetOptionalBaseObject(taggedObject); if (baseObject != null) return new PkiArchiveOptions(taggedObject.TagNo, baseObject); } + return null; } diff --git a/crypto/src/asn1/crmf/PopoPrivKey.cs b/crypto/src/asn1/crmf/PopoPrivKey.cs index 13359d5bf..91b1ddba4 100644 --- a/crypto/src/asn1/crmf/PopoPrivKey.cs +++ b/crypto/src/asn1/crmf/PopoPrivKey.cs @@ -38,14 +38,17 @@ namespace Org.BouncyCastle.Asn1.Crmf { if (element == null) throw new ArgumentNullException(nameof(element)); + if (element is PopoPrivKey popoPrivKey) return popoPrivKey; + if (element is Asn1TaggedObject taggedObject) { Asn1Encodable baseObject = GetOptionalBaseObject(taggedObject); if (baseObject != null) return new PopoPrivKey(taggedObject.TagNo, baseObject); } + return null; } diff --git a/crypto/src/asn1/crmf/ProofOfPossession.cs b/crypto/src/asn1/crmf/ProofOfPossession.cs index 0e6a64dac..d7d9fe7b1 100644 --- a/crypto/src/asn1/crmf/ProofOfPossession.cs +++ b/crypto/src/asn1/crmf/ProofOfPossession.cs @@ -37,14 +37,17 @@ namespace Org.BouncyCastle.Asn1.Crmf { if (element == null) throw new ArgumentNullException(nameof(element)); + if (element is ProofOfPossession proofOfPossession) return proofOfPossession; + if (element is Asn1TaggedObject taggedObject) { Asn1Encodable baseObject = GetOptionalBaseObject(taggedObject); if (baseObject != null) return new ProofOfPossession(taggedObject.TagNo, baseObject); } + return null; } |