2011-06-02 5 views
1

System.SecureStringをレジストリに保存します。それは可能ですか?そして私はそれをどうやってやるのだろう?どのようにしてSecureStringをレジストリに保存しますか?

私のプログラムは、次回の実行時に文字列を再度復号化できますか?

+2

私はそれがレジストリに格納することに当てはまると思います - [secureStringをファイルに保存する方法は?](http://social.msdn.microsoft.com/Forums/en/US/csharpgeneral/thread/d4557d9b-6e7d -4695-bfd0-a22a08e06160 /) – Centro

答えて

2

ヘルパーレイヤーなしでは暗号化された形式では実行できません。それはネイティブ形式のシリアル化をサポートしておらず、実際にはそれをネイティブ形式で検査することさえできません。情報を取得するには、PInvokeまたはSecureStringToBSTR APIを経由する必要があります。どちらも暗号化されていない形式でstringにアクセスします。私はこの作業を見ることができました

一つの方法は、

  1. BSTR
  2. SecureStringToBSTRを経由して暗号化BSTR
  3. ストアレジストリもちろん

に結果にSecureStringに変換されますあなたのプログラムのインスタンス間で再利用可能な暗号化メカニズムを使用する必要があります。

1

MSDNのStoring Private Dataの記事をご覧ください。 LsaStorePrivateData()呼び出しを呼び出す必要があります。

関連する問題