以下の記事に対する補足情報です。
「構成ファイルの暗号化/復号化(前編)」
「構成ファイルの暗号化/復号化(中編)」
「構成ファイルの暗号化/復号化(後編)」
いつもお世話になっているGushwellさんからコメントを頂きまして、ちょっとだけ謎が解明できました。
後編ではRSAキーコンテナに対するアクセス権がないとだめよんという話をしました。
RSAキーコンテナに対して特定のユーザーのアクセス権を付与するのにaspnet_regiisの-paオプションを使うのですが、その情報って結局どこでどのように管理されているのかが謎でした。
でも、実行時に出てくるメッセージが
RSA キー コンテナへのアクセスのために ACL を追加しています...
成功しました!
なので、ACLを使っているのはわかるのですが、どこの?ってとこが疑問だったんですね。
で、Gushwellさんからの情報を元に色々と調べてみると、ありましたありました。
ずばりこちらのフォルダ
C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys
に良くありがちなごにょごにょした名前のファイルがいくつか登録されておりました。
どれがどれでどうなんだか分らないのですが、適当なファイルを右クリックしてセキュリティを確認するとそこにaspnet_regiisの-paオプションで追加したユーザーが登録されていて、読み取りだけに権限が付与されていました。
なるほど~。意外と超シンプルな仕組みだったんですねぇ。
なっとくなっとく。
ちなみに、Gushwellさんに教えていただいたフォルダは
C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys
だったのですが、XPとWindows Server 2003 R2で確認したところ、そもそもC:\ProgramDataが存在していませんでした。
何はともあれ、すっきりしました。
Gushwellさんありがとうございます!!& 遅くなりましたが、MVP再受賞おめでとうございます!!
ところで、例のごにょごにょしたファイル名ってMD5かなんかかしら?
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\ の下もごにょごにょありますが、あれはまた別っぽいですね。
えろいひと、おせーて。
(・o・)