diff options
Diffstat (limited to 'crypto/src/asn1/x509/AlgorithmIdentifier.cs')
-rw-r--r-- | crypto/src/asn1/x509/AlgorithmIdentifier.cs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/crypto/src/asn1/x509/AlgorithmIdentifier.cs b/crypto/src/asn1/x509/AlgorithmIdentifier.cs index 486772c16..f73401b63 100644 --- a/crypto/src/asn1/x509/AlgorithmIdentifier.cs +++ b/crypto/src/asn1/x509/AlgorithmIdentifier.cs @@ -22,6 +22,21 @@ namespace Org.BouncyCastle.Asn1.X509 return GetInstance(Asn1Sequence.GetInstance(obj, explicitly)); } + public static AlgorithmIdentifier GetOptional(Asn1Encodable element) + { + if (element == null) + throw new ArgumentNullException(nameof(element)); + + if (element is AlgorithmIdentifier algorithmIdentifier) + return algorithmIdentifier; + + Asn1Sequence asn1Sequence = Asn1Sequence.GetOptional(element); + if (asn1Sequence != null) + return new AlgorithmIdentifier(asn1Sequence); + + return null; + } + public AlgorithmIdentifier( DerObjectIdentifier algorithm) { |