2009-06-10 18 views
24

私が見たすべての例では、SecureStringを標準の文字列に変換してから使用する前に、オブジェクトを破棄してしまいます。この問題がなくても安全な文字列を使用する良い方法は何ですか?SecureStringを安全に使用するにはどうすればよいですか?

私はSecureStringをBSTRにマーシャリングできますが、このBSTRで何ができるのですか?キャラクターを一度に1つ戻すことはできますか?もしそうなら、どうですか?私はMSDN PageはSecureStringを記述したと思います

答えて

0

は最高のそれを言う:

は秘密にしなければならないテキストを表します。

SecureStringsは文字列のように使用するためのものではありません。彼らはセキュリティの強化が必要な情報の限定アクセス権者であることを意図しています。

SecureStringの内容を変更する場合は、必要なすべてのメソッドがあります。

ただし、セキュアな文字列の値を取得する必要がある場合は、これを行うために他のメソッドが公開されていないため、ToString()を使用する必要があります。

つまり、文字列のようなSecureStringを使用しないでください。

+13

ToStringは文字列の内容を返しません。オブジェクト型名のみを返します。 SecureStringをbstrにマーシャリングすることはできますが、その時点からどのように使用できるかわかりません。 機密であるというだけでは、それを扱う必要はありません。クレジットカード番号は秘密ですが、私はまだお金が欲しいです! –

4

このリンクには、文字列をネイティブコード(おそらくセキュアである)に渡すためのアンマネージメモリブロックを取得する方法、それを使用するBCLクラス、およびいくつかの例へのリンクが含まれています。

http://bartdesmet.net/blogs/bart/archive/2006/03/31/3851.aspx

主なものは、それが本当にそれほどまだ使用していないということですが、あなたはそれに依存している独自のライブラリを作ることは自由です。

関連する問題