むりせず♪なまけず? ~ぷろくらすてぃねいたーの言い訳雑記~

よた ときどき .NET  by 刈歩 菜良 CTP

目次

ニュース

C# VB.NET掲示板
C#, VB.NET 掲示板

わんくま同盟
わんくま同盟

Vimエディタ日本語版

あわせて読みたい

日記カテゴリ

書庫

Blog 利用状況

構成ファイルの暗号化/復号化(後編)

こっからの続きです。

構成ファイルの暗号化/復号化(前編)

構成ファイルの暗号化/復号化(中編)

 

中編ではエラーの原因が暗号化のときに使われるRSAキーコンテナに対するアクセス権がないっちうところまで確認してきました。

ほぢゃらば、アクセス権を与えましょ。

で、誰に??

 

RSAキーコンテナにアクセスするのをだれぞ?

これは言うまでもなく、ASP.NETのプロセスを動かしてる人です。

Windows Server 2003以降ならNETWORK SERVICEだし、それ以前ならASPNETなはずです。

が、しかし、偽装をONにしてる場合は話が変わってきます。

固定に偽装してる場合と、Webアプリにアクセスするユーザに偽装してる場合と...

あぁ、でもこの話に行くとまた長くなるので、偽装の話は後日書きましょか。

 

で、今回は偽装なしでってことで。(^^ゞ

でも、それでも疑り深いあなたは。System.Security.Principal.WindowsIdentity.GetCurrent().Nameプロパティを表示するようなページを作って実際のアカウントを確認してみましょう。

 

RSAキーコンテナにアクセスできるようにしよう!

これまたaspnet_regiis.exeを使います。こないな感じ。

aspnet_regiis -pa RSAキーコンテナ名 アカウント

具体例としてはこないな感じ。

aspnet_regiis -pa "NetFrameworkConfigurationKey" "NT AUTHORITY\NETWORK SERVICE"

これで一件落着、さっきのエラーがウソみたいにすっと実行できるようになります。

ちなみに、権限を外すにはオプションを-prにしましょう。

しかし、この権限情報ってどこでどう管理されてるんでしょ。

気になるぅ~~~。

だれかえろいひとおせーて。

 

構成ファイルを復号化するには

暗号化したはいいけど、その暗号化した情報を修正したい場合もありますよね。

そんな時は一旦復号化すりゃええんですな。

復号化は

aspnet_regiis -pdf 要素名 構成ファイルのフォルダ

でOKです。

具体的には

aspnet_regiis -pdf "connectionStrings" c:\InetPub\wwwroot\SampleWeb

修正したら-pefでまた暗号化しましょう。

RSAキーコンテナに対する権限はすでに与えているので、一度やればもうやらなくってOKよん。

 

 

いやぁ、ガラにもなく技術ネタ3連発はなんだか疲れちゃったわ(ん?4連発か)。

あさって(あ、いや、もう明日か)はそうはイカの金玉ですが。(^・^)

投稿日時 : 2009年3月31日 4:35

Feedback

# re: 構成ファイルの暗号化/復号化(後編) 2009/04/07 21:09 Gushwell

僕も以前、同じような問題で悩んだことがあります。

C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys

で管理しているみたです。
どのファイルかまではわかりませんが...

# re: 構成ファイルの暗号化/復号化(後編) 2009/04/08 10:39 刈歩 菜良 CTP

Gushwellさん

情報ありがとうございます。
ビンゴでした。
XPだと、
C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys
にあるんですが、それぞれのファイルがキーコンテナに該当しているみたいです。

色々調べてみました。
あとで追加記事書きまーす。
m(__)m

# 構成ファイルの暗号化/復号化(補足) 2009/04/08 13:07 むりせず♪なまけず? ~ぷろくらすてぃねいたーの言い訳雑記~

構成ファイルの暗号化/復号化(補足)

タイトル  
名前  
Url
コメント