問題タブ [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 に答える
724 参照

wpf - PasswordBox バインディングの問題 MVVM

パスワードボックスのバインドの問題に遭遇しました。私のアプリケーションは MVVM に従います。パスワード ボックス バインディングの問題を解決する方法を見つけるために Google を検索しようとしたところ、2 種類の解決策が見つかりました - 1> 添付プロパティの使用 2> 安全な文字列の使用/?tag=mvvm )。2 番目のオプションの方が安全に思えたので、このオプションを選択する傾向がありました。しかし、後で、次のコードを使用して、安全な文字列内の実際の文字列を抽出できることがわかりました

今、私は少し混乱しています。次の問題を理解するのを手伝ってください。2> MVVM パターンに従っていて、同時にパスワード文字列を安全にしたい場合、上記の 2 つのうちどちらが適切なオプションですか。

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

c# - SecureString を使用した .NET からの CredUIPromptForCredentials

標準のシステム ダイアログを表示して、ユーザーにアカウントのユーザー名とパスワードを要求し、この情報を使用してこれらの資格情報でプロセスを開始したいと思います。

CredUIPromptForCredentialsそのダイアログを表示する機能を指摘されました。ユーザー名とパスワードを文字列として返します。しかし、ProcessStartInfo構造はパスワードとしてSecureString.

パスワードを文字列として使用し、それを文字ごとに変換できることを理解していますSecureString(そのための単一の関数はありません) SecureString

CredUIPromptForCredentialsしたがって、管理されていない呼び出しからSecureString.NETのようにパスワードを直接受け入れる方法が必要だと思います。結局のところ、アプリケーションでパスワードにアクセスする必要はまったくありません。別のプロセスを開始するために使用されることになっているだけで、すぐに忘れることができます。

では、私の P/Invoke 宣言はCredUIPromptForCredentialsどのように見えるSecureStringでしょうか? (私は C# 用の pinvoke.net のものから始めました。)

更新:ああ、もし誰かがCredUIPromptForWindowsCredentialsWindows Vista/7 の新機能の例を持っていれば、それも素晴らしいだろう.

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

c# - 接続文字列としての MySQL SecureString

SecureStringMySql-Connector の接続文字列としての一般的な質問があります。私がそれを正しく理解していればSecureStrings、プログラム内に文字列を保存する「安全な」方法です。今、私はそれに2つの問題があります:

  1. インストール時にパスワードを読み込む必要があります(TextBoxこれはstring安全ではありません)
  2. string(再び安全ではない) MySQL-Connector の接続文字列を作成する必要があります。

例:

これにより、次の問題が発生します。すべての値がプレーンテキストとして保存されるため、MySQL-Connector API は「安全ではありません」string

最後の質問: を使用する意味はありますSecureStringか?

私の意見stringでは、プログラムのどこでも使用できます。MySQL に関して言えば、(私のプログラム内の) あらゆる種類の暗号化は役に立たないでしょう。

私はその意見で正しいですか?他の方法はありますか?

よろしくアレックス

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

security - ウェブサイトのバックエンドに電子メール ID を安全に保存する

ユーザーが OpenID でログインするサイトを作成しています。ただし、Google、Yahoo、および AOL のいずれかのみを選択できるようにします。彼らは OpenID プロバイダーのアカウント (Google/Yahoo/AOL) でログインまたはサインアップし、私の Web サイトにリダイレクトされた後、「サインアップ成功!」と表示します。主張されたIDまたはGoogleなどがOpenID AX(属性交換)で提供するものに対して、電子メールIDを保存します。

現在、サイトでのコメント、クエリなどのアクティビティにより、ユーザーに通知してもらいたいと考えています。そのために、私は自分のサイトの OpenID サインアップから得た彼の電子メール アカウントにメールを送信します。そして、メールを送信するには、email-id が (明らかに) 平文である必要があります。しかし、データベースでは、誰かがユーザーテーブルをハッキングしてダウンロードしたとしても、電子メール ID を解読できないように、電子メール ID を安全に、十分に安全に保存したいと考えています。

どうやってするか?AES 暗号化などの場合、キーを保存する必要があります。また、バックエンド スクリプトが電子メール ID をプレーンテキストに変換するためのキーに簡単にアクセスできる場合、ハッカーもアクセスできないのでしょうか?

サイトの登録ユーザーの電子メール ID を安全に保存し、通知についても電子メールで送信したいだけですが、ハッカーが電子メール ID に簡単にアクセスできるリスクはありません。

0 投票する
5 に答える
8777 参照

c# - SecureString から Byte[] C#

( a から取得した)にbyte[]相当するものを取得するにはどうすればよいですか?SecureStringPasswordBox

私の目的は、 を使用してこれらのバイトをCryptoStreamファイルに書き込むことであり、Writeそのクラスのメソッドは入力を受け取るので、 を で使用できるように をに変換しbyte[]たいと考えています。SecureStringbyte[]CryptoStream

編集:string私は使用したくありません。SecureString

0 投票する
2 に答える
10289 参照

c# - Web ブラウザーを開かずに Windows Azure Active Directory で直接認証する

この質問この MSDN の投稿を参照しましたが、問題を解決できませんでした。

以下のコードは、Web ブラウザーを使用して WAAD 認証を実行する方法を示しています。

これによりブラウザが開き、ユーザーは詳細を入力するように求められますが、問題なく機能します。

ただし、ユーザー名/パスワード/ドメインを独自に取得できるGUIクライアントがあります。そのため、GUI クライアントから詳細を収集し、WAAD サーバーに直接提供して、ユーザーを認証することを目的としています。

どうやってするか?

のオーバーロードを見るだけで、AcquireToken()いくつかの手がかりが得られました (これも間違っている可能性があります)。

class ClientCredentialしかし、 (のサブクラス)を作成する方法がわかりませんCredential。このクラスはnamespace Microsoft.WindowsAzure.ActiveDirectory.Authentication.
以下はそのコンストラクタです。

オンラインで検索してもあまり答えが得られませんでしたが、このリンクを取得しました。しかし、やはりその部分はSecureString私にとって謎です。を使用してユーザー名/パスワード/ドメインをどのように通信できますSecureStringか?

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

c# - 暗号化された文字列をデータベースに保存する

X.509 証明書のパスワードをデータベースに保存する必要があります。しかし、問題があります。パスワードをハッシュ化できないため、パスワードを暗号化して保存する必要があります。

明示的な暗号化と復号化なしでこれを行うにはどうすればよいですか?

SecureStringまた、 ADO.NETで保存することは可能ですか?