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
+}
|