Пример #1
0
        public unsafe static int EC_POINT_point2oct(EC_GROUP group, EC_POINT point, EC_POINT_CONVERSION form, Span <byte> output)
        {
            var size = EC_POINT_point2oct(group, point, form, null, IntPtr.Zero, IntPtr.Zero);

            if (size.ToInt32() > output.Length)
            {
                throw new ArgumentOutOfRangeException(nameof(output));
            }
            ThrowOnError(size);
            fixed(void *outputPtr = &output.DangerousGetPinnableReference())
            {
                size = EC_POINT_point2oct(group, point, form, outputPtr, (IntPtr)output.Length, IntPtr.Zero);
                ThrowOnError(size);
                return(size.ToInt32());
            }
        }
Пример #2
0
 private static extern unsafe IntPtr EC_POINT_point2oct(EC_GROUP group, EC_POINT p, EC_POINT_CONVERSION form, void *buf, IntPtr len, IntPtr ctx);
Пример #3
0
 internal static extern unsafe int EC_POINT_oct2point(EC_GROUP group, EC_POINT p, void *buf, IntPtr len, void *ctx);
Пример #4
0
 public static extern EC_POINT EC_POINT_new(EC_GROUP group);
 internal static extern int EC_GROUP_get_curve_name(EC_GROUP group);
Пример #6
0
 internal static extern EC_POINT EC_POINT_new(EC_GROUP group);