Я пытаюсь установить ключ, который можно экспортировать после генерации, я использую NCrypt: сначала я вызываю NCryptOpenStorageProvider для инициализации дескриптора поставщика, после этого я вызываю NcryptCreatePersistedKey для создания пары ключей. эта функция работает без ошибок.
После этого я вызываю NCryptSetProperty с NCRYPT_EXPORT_POLICY_PROPERTY:
uint ret = NCryptSetProperty(Key Handle, NCRYPT_EXPORT_POLICY_PROPERTY, Bit Converter.GetBytes(NCRYPT_ALLOW_EXPORT_FLAG) , sizeof(uint) ,0);
If(ret != ERROR_SUCCESS)
{
Console.WriteLine(ret.toString());
}
Я получил ошибку 0x8009002D - Внутренняя ошибка.