Microsoft の Crypto API を使用して RSA を実行しようとしています。Windows Vista 以降では、私のコードは問題なく実行されます。
CryptAcquireContext(&m_hCryptProv, NULL, MS_ENHANCED_PROV, PROV_RSA_FULL, 0);
残念ながら、私が試した 2 台の Windows XP マシンでは、エラー コード NTE_BAD_KEYSET (0x80090016) が表示されます。
少しグーグルで検索したところ、Microsoft サポートでこの記事が見つかりました。 http://support.microsoft.com/kb/238187
「キーコンテナに保存されている永続化された秘密鍵を使用していない」場合に渡すことができる CRYPT_VERIFYCONTEXT フラグについて言及しています。このコンテキストで「永続化された秘密鍵」とはどのような場合を意味しますか?