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

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