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

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