示例#1
0
        private static unsafe void DeserializeSignature(byte *deserializedRef, byte *serializedRef)
        {
            int bytesRead = Platform switch
            {
                OsPlatform.Windows => Win64Lib.blsSignatureDeserialize(deserializedRef, serializedRef, SignatureLength),
                OsPlatform.Linux => PosixLib.blsSignatureDeserialize(deserializedRef, serializedRef, SignatureLength),
                OsPlatform.Mac => MacLib.blsSignatureDeserialize(deserializedRef, serializedRef, SignatureLength),
                _ => throw new ArgumentOutOfRangeException(Platform.ToString())
            };

            if (bytesRead != SignatureLength)
            {
                throw new CryptographicException($"Bytes read was {bytesRead} instead of {SignatureLength} when deserializing signature");
            }
        }