diff options
Diffstat (limited to 'crypto/src/asn1/crmf/PKIArchiveOptions.cs')
-rw-r--r-- | crypto/src/asn1/crmf/PKIArchiveOptions.cs | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/crypto/src/asn1/crmf/PKIArchiveOptions.cs b/crypto/src/asn1/crmf/PKIArchiveOptions.cs index e546fb3bb..f1a35541a 100644 --- a/crypto/src/asn1/crmf/PKIArchiveOptions.cs +++ b/crypto/src/asn1/crmf/PKIArchiveOptions.cs @@ -19,7 +19,7 @@ namespace Org.BouncyCastle.Asn1.Crmf return pkiArchiveOptions; if (obj is Asn1TaggedObject taggedObject) - return new PkiArchiveOptions(taggedObject); + return new PkiArchiveOptions(Asn1Utilities.CheckTagClass(taggedObject, Asn1Tags.ContextSpecific)); throw new ArgumentException("Invalid object: " + Platform.GetTypeName(obj), "obj"); } @@ -28,17 +28,17 @@ namespace Org.BouncyCastle.Asn1.Crmf { switch (tagged.TagNo) { - case encryptedPrivKey: - value = EncryptedKey.GetInstance(tagged.GetObject()); - break; - case keyGenParameters: - value = Asn1OctetString.GetInstance(tagged, false); - break; - case archiveRemGenPrivKey: - value = DerBoolean.GetInstance(tagged, false); - break; - default: - throw new ArgumentException("unknown tag number: " + tagged.TagNo, "tagged"); + case encryptedPrivKey: + value = EncryptedKey.GetInstance(tagged.GetExplicitBaseObject()); + break; + case keyGenParameters: + value = Asn1OctetString.GetInstance(tagged, false); + break; + case archiveRemGenPrivKey: + value = DerBoolean.GetInstance(tagged, false); + break; + default: + throw new ArgumentException("unknown tag number: " + tagged.TagNo, "tagged"); } } |