問題タブ [securestring]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2570 参照

c# - LogonUser での SecureString の使用

学習目的で、私は独自の Active Directory クライアントを作成しています。アカウントのロック解除やパスワードのリセットなどのコマンドを実行するには、管理者アカウントとパスワードを入力しWindowsIdentity.Impersonate、管理者アカウントとしてコードを使用して実行する必要があります。プログラム全体でパスワードを何度も使用する必要があるため、パスワードを保護するためのオプションについて疑問に思っています。

私が理解していることSecureStringから、パスワードを保存するために使用できます。しかし、管理者アカウントとしてコードを実行するには、 を使用しており、それを使用するには、 ではなく通常のトークンを必要とするWindowsIdentity.Impersonateトークンを取得する必要があります。LogonUserstringSecureString

だから私はしなければならないでしょう:

  1. 起動時にログイン

  2. 入力をSecureString

  3. 入力をクリア

その後、昇格を必要とする関数を実行したい場合:

  1. 以前に作成SecureStringしたものをstring

  2. 変換された文字列をLogonUser

  3. 変換文字列をクリアしますnull

  4. コマンド実行

  5. LogonUserオブジェクトをクリア

これはこれにアプローチする正しい方法ですか?SecureStringを使用するために変換する必要があるのは奇妙に思えstringます...目的を無効にし、変換中にパスワードをより脆弱なままにしてしまうようです。

編集: LogonUser の名前を修正

0 投票する
1 に答える
669 参照

c# - SecureString の内容を Response ストリームに書き込むにはどうすればよいですか?

Asp.net MVC 5 アプリケーションでは、モデルを介してビューに SecureString が渡されます。最初に文字列に変換することなく、その SecureString の内容を Response ストリームに書き込みたいと思います。どうすればこれを達成できますか?

0 投票する
4 に答える
149273 参照

powershell - 安全な文字列をプレーン テキストに変換する

私は PowerShell で作業しており、ユーザーが入力したパスワードをプレーン テキストに正常に変換するコードがあります。

元に戻す方法をいくつか試しましたが、どれも適切に機能していないようです。最近では、次のことを試しました。

これもエラーになります。

これに役立つ方法を知っている人はいますか?

0 投票する
1 に答える
611 参照

c# - SecureString 復号化で実行可能ファイル間で異なる結果が得られるのはなぜですか?

proxy.exeでは、次の方法で安全な文字列を作成しています。

次に、main.exeで、次の関数を使用して復号化しています。

問題は、返された文字列が空であることです。 main.exe内の最初の文字列を暗号化しない限り、返された復号化された文字列は実際には "8charPwd" です。なぜこうなった?SecureString 暗号化は実行可能ファイルにバインドされていますか?

0 投票する
1 に答える
259 参照

powershell - 連続する SecureString ハッシュが一致しない

暗号化されたパスワードが .ps1 スクリプトに保存されています。新しい環境でスクリプトをセットアップする場合、ユーザーはスクリプトの開始時にこのパスワードを手動で構成する必要があります。ユーザーがその方法でスクリプトを実行できるようにスイッチ パラメーターを設定し、必要なハッシュをユーザーに提供します。ただし、タイプミスなどがないことを確認するためにパスワードを 2 回入力するように求められた場合、パスワード ハッシュを一致させることができません。たとえば、PowerShell でこれを2 回連続して手動で入力すると、まったく同じパスワードを入力しても異なる結果が得られます。

これは、-Keyまたは-SecureKeyパラメーターの有無にかかわらずです。ユーザーにパスワードの入力を求めるにはどうすればよいですか (一致することを確認するために 2 回)、一致する場合はパスワード ハッシュを出力しますか?

0 投票する
1 に答える
5844 参照

c# - データベースに格納されている SecureString パスワード

の基本的な部分を誤解していると思いSecureStringます。stringが不変であり、パスワードまたは機密データがヒープ上でクリア テキストとして検出されることを理解しています。

私が理解するのに苦労しているのはSecureString、データベースでハッシュ化されたパスワードを検証する必要があるクライアント アプリケーションでどのように使用すればよいですか?

これが私のコンテキストです:

  • WPF クライアント アプリケーションを使用しています。
  • ローカル SQL データベースを (クライアントのマシン上に) 持っています
  • パスワードはハッシュ化され、データベースに保存されます。
  • ユーザーが自分の WPF アプリケーションにログインしようとしています
  • PasswordBox コントロールはSecureString、プロパティを介してパスワードを格納しますSecurePassword

それで?最初に文字列にキャストせずにハッシュするにはどうすればよいですか?SecureString

これまでに受け取ったすべてのアドバイスは、 に変換SecureStringする拡張メソッドを作成しString、それをハッシュしてから、検証のために db に送信することです。しかし、これは演習全体を打ち負かします!

SecureString上記のコンテキストでは役に立たないことを受け入れて、プレーンを使用する必要がありstringますか?