ASPNET ユーザーによる秘密キーのインポートとアクセスに問題があります。Windows で秘密鍵 (.pfx ファイル) を手動でインポートすると、鍵をエクスポート可能としてマークするオプションが表示されることを私は知っています。今、私が知る限り、これは後でその秘密鍵を取得するために必要です。
私の問題は、ASPNET ユーザーとして秘密鍵をコードでインポートしていることにあり、Windows 証明書インポート ウィザードのようにエクスポート可能としてマークする方法がないようです。明確にするために、インポートは正常に機能しますが、現在インポートされている証明書の詳細にアクセスすると、秘密鍵データがありません。
これは、正しいパスワードを使用して .pfx ファイルを開いたら、証明書をインポートするために使用しているコードです。
public void ImportCertificate(X509Certificate2 cert, StoreName name, StoreLocation loc)
{
X509Store certStore = new X509Store(name, loc);
StorePermission permission = new StorePermission(PermissionState.Unrestricted);
permission.Flags = StorePermissionFlags.AddToStore;
permission.Assert();
certStore.Open(OpenFlags.ReadWrite);
certStore.Add(cert);
certStore.Close();
}
アクセス許可やこの秘密鍵のインポート方法をいじっていませんか? それとも、私はこれを完全に間違った方法で行っていますか?