summary refs log tree commit diff
path: root/crypto/src/pqc/asn1/CmcePrivateKey.cs
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/src/pqc/asn1/CmcePrivateKey.cs')
-rw-r--r--crypto/src/pqc/asn1/CmcePrivateKey.cs34
1 files changed, 13 insertions, 21 deletions
diff --git a/crypto/src/pqc/asn1/CmcePrivateKey.cs b/crypto/src/pqc/asn1/CmcePrivateKey.cs

index 743b801f5..dba42f6c1 100644 --- a/crypto/src/pqc/asn1/CmcePrivateKey.cs +++ b/crypto/src/pqc/asn1/CmcePrivateKey.cs
@@ -1,4 +1,5 @@ using System; + using Org.BouncyCastle.Asn1; using Org.BouncyCastle.Utilities; @@ -22,6 +23,15 @@ namespace Org.BouncyCastle.Pqc.Asn1 public class CmcePrivateKey : Asn1Object { + public static CmcePrivateKey GetInstance(Object o) + { + if (o == null) + return null; + if (o is CmcePrivateKey cmcePrivateKey) + return cmcePrivateKey; + return new CmcePrivateKey(Asn1Sequence.GetInstance(o)); + } + private int version; private byte[] delta; private byte[] c; @@ -103,20 +113,6 @@ namespace Org.BouncyCastle.Pqc.Asn1 return new DerSequence(v); } - public static CmcePrivateKey GetInstance(Object o) - { - if (o is CmcePrivateKey) - { - return (CmcePrivateKey)o; - } - else if (o != null) - { - return new CmcePrivateKey(Asn1Sequence.GetInstance(o)); - } - - return null; - } - //TODO are these correct tags? internal override IAsn1Encoding GetEncoding(int encoding) { return ToAsn1Primitive().GetEncoding(encoding); @@ -129,16 +125,12 @@ namespace Org.BouncyCastle.Pqc.Asn1 protected override bool Asn1Equals(Asn1Object asn1Object) { - CmcePrivateKey other = asn1Object as CmcePrivateKey; - if (other == null) - return false; - - return Arrays.AreEqual(this.ToAsn1Primitive().GetEncoded(), other.ToAsn1Primitive().GetEncoded()); + return ToAsn1Primitive().CallAsn1Equals(asn1Object); } protected override int Asn1GetHashCode() { - return ToAsn1Object().CallAsn1GetHashCode(); + return ToAsn1Primitive().CallAsn1GetHashCode(); } } -} \ No newline at end of file +}