I am trying to export public and private key of an ECDSA certificate from Windows key store. PFXExportCertStoreEx fails when I try to export ECDSA certificate. GetLastError() returns 0x80090016. I am able to correctly export cert and key for a RSA certificate from Windows key store using the same API. Is the API usage wrong for ECDSA certificate or are additional steps required?

Additional info: The error code means "keyset doesn't exist" which I am most certain is wrong information. And the private keys is exportable as I added certificate to key store with that option checked.

API info: https://docs.microsoft.com/en-us/windows/win32/api/wincrypt/nf-wincrypt-pfxexportcertstoreex

Thanks in advance.

1 Answer 1


After days of analysis and discussions, finally I was able to identify the root cause. It is related to privileges. If I run with Admin privilege, I can extract keys for ECDSA certificate as well from the Local Machine certificate store. If you do not intend to use Admin privilege, just take the certificate manager or mmc and select the certificate, take All tasks > Manage Private Keys give privileges as required.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .