private static unsafe void SerializeSignature(byte *serializedRef, byte *deserializedRef) { int bytesWritten = Platform switch { OsPlatform.Windows => Win64Lib.blsSignatureSerialize(serializedRef, SignatureLength, deserializedRef), OsPlatform.Linux => PosixLib.blsSignatureSerialize(serializedRef, SignatureLength, deserializedRef), OsPlatform.Mac => MacLib.blsSignatureSerialize(serializedRef, SignatureLength, deserializedRef), _ => throw new ArgumentOutOfRangeException(Platform.ToString()) }; if (bytesWritten != SignatureLength) { throw new CryptographicException($"Bytes written was {bytesWritten} instead of {SignatureLength} when deserializing private key"); } }