[VB.NET] SecureString

2012年9月11日

 SecureStringというものがあるらしいことを知る。これを使って、パスワードが渡せるらしい。
 これと、Process.Start を組み合わせることで、RunAs のようなことができる。

Dim pw As New System.Security.SecureString

For Each ch In "pass".ToCharArray()
  pw.AppendChar(ch)
Next

Dim p = System.Diagnostics.Process.Start("c:test.exe", "user", pw, "")

 RunAs コマンドと違うところは、パスワードもスクリプト内に仕込めてしまうところ。ある意味便利。危険だが…

 あと、この手を使って、Windowsアカウントそのものをユーザーリストにした、認証サーバーもどきが作れるなあと思うなど。ダミーの exe を用意して、実行権限を設定しておき、その exe が起動できるかどうかで、入力されたユーザー/パスワードが正当な権限を持っているかどうかが判断できる、的な。
 パスワードリストを自前で管理したくないときはいいかもしれないな… # まっとうな方法で認証すべきでしょうが、そのやり方がいまだに分からないので…(汗






カテゴリー: Program, VB.NET

Follow comments via the RSS Feed | Leave a comment | Trackback URL

1 Comment to "[VB.NET] SecureString"

  1. [VB.NET] Windowsアカウントの検証 | オールトの雲

    [...]  Windows のユーザーとパスワードの検証。  以前、SecureString で怪しげなことを書いていますが、ユーザーとパスワードの検証だけであれば、PrincipalContext を使用することで検証できるよ [...]

コメントを投稿する

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)


«   »
 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org