schannel-rs
schannel-rs copied to clipboard
Add PfxImportOptions::named_no_persist_key()
This function sets PKCS12_NAMED_NO_PERSIST_KEY flag for PFXImportCertStore call to import pkcs12 file to prevent Windows from persisting the keys from the pkcs12 file to disk. Without this flag keys imported from pkcs12 files are saved to disk and need to be deleted manually (they are leaked usually).
The PKCS12_NAMED_NO_PERSIST_KEY flag requires a sufficiently new build of Windows so this change will try to use PKCS12_NAMED_NO_PERSIST_KEY if it's available and fall back to the leaky use of PFXImportCertStore if PKCS12_NAMED_NO_PERSIST_KEY is not available.
This fixes https://github.com/steffengy/schannel-rs/issues/98.
Where's PKCS12_NAMED_NO_PERSIST_KEY documented?