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