1

展開を Windows Server 2012 にアップグレードする際に問題が発生しました。展開は osfamily=2 で正常に動作し、.net4 でコンパイルされましたが、.net4.5 と osfamily=3 で失敗しました。

vm にリモートであるときに見た例外は「キーセットが存在しません」で、一部の証明書に関連しているようです。証明書を使用して一部のストリームを暗号化する私のプログラムは、展開後にこの証明書を使用してこのストリームをデコードできるはずです。VM の証明書を確認したところ、適切な場所に正常にインストールされています。したがって、これは 2012 の異なるセキュア ポリシーの問題であり、私の役割が証明書でキーを取得することを妨げていると思われます。

これはしばらく私をブロックしますので、手がかりをありがとうございます!

4

1 に答える 1

5

Keyset is not exist は通常、プログラムが証明書の秘密鍵にアクセスしようとして、秘密鍵が存在しないか、アクセス許可がないためにアクセスできない場合のエラーを指します。

証明書ストアで問題の証明書を見つけ、秘密鍵が含まれていることを確認する必要があります (証明書のプロパティに表示されます)。

証明書のプロパティ

次に、証明書ストアから証明書を右クリックし、[すべてのタスク] -> [秘密キーの管理] を選択して、プロセス/アプリケーション プールに秘密キーにアクセスする権限があることを確認します。そこから、十分な数のユーザーを許可リストに追加してください。

権限を追加する

お役に立てれば

于 2013-01-08T13:53:15.543 に答える