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"); } }