1 files changed, 7 insertions, 1 deletions
diff --git a/crypto/src/math/ec/ECAlgorithms.cs b/crypto/src/math/ec/ECAlgorithms.cs
index 64e68fccc..fcfab06f7 100644
--- a/crypto/src/math/ec/ECAlgorithms.cs
+++ b/crypto/src/math/ec/ECAlgorithms.cs
@@ -213,9 +213,15 @@ namespace Org.BouncyCastle.Math.EC
{
ECCurve cp = p.Curve;
if (!c.Equals(cp))
- throw new ArgumentException("Point must be on the same curve", "p");
+ throw new ArgumentException("Point must be on the same curve", nameof(p));
+#if NETCOREAPP2_1_OR_GREATER || NETSTANDARD2_1_OR_GREATER
+ Span<byte> encoding = stackalloc byte[p.GetEncodedLength(false)];
+ p.EncodeTo(false, encoding);
+ return c.DecodePoint(encoding);
+#else
return c.DecodePoint(p.GetEncoded(false));
+#endif
}
internal static ECPoint ImplCheckResult(ECPoint p)
|