internal override bool TryImportKey( ReadOnlySpan <byte> blob, KeyBlobFormat format, out SecureMemoryHandle keyHandle, out byte[] publicKeyBytes) { switch (format) { case KeyBlobFormat.RawSymmetricKey: return(s_rawKeyFormatter.TryImport(blob, out keyHandle, out publicKeyBytes)); case KeyBlobFormat.NSecSymmetricKey: return(s_nsecKeyFormatter.TryImport(blob, out keyHandle, out publicKeyBytes)); default: throw Error.Argument_FormatNotSupported(nameof(format), format.ToString()); } }
internal override bool TryImportKey( ReadOnlySpan <byte> blob, KeyBlobFormat format, MemoryPool <byte> memoryPool, out ReadOnlyMemory <byte> memory, out IMemoryOwner <byte>?owner, out PublicKey?publicKey) { publicKey = null; switch (format) { case KeyBlobFormat.RawSymmetricKey: return(RawKeyFormatter.TryImport(KeySize, blob, memoryPool, out memory, out owner)); case KeyBlobFormat.NSecSymmetricKey: return(NSecKeyFormatter.TryImport(NSecBlobHeader, KeySize, MacSize, blob, memoryPool, out memory, out owner)); default: throw Error.Argument_FormatNotSupported(nameof(format), format.ToString()); } }