WPFアプリケーションを作成する場合、PasswordBox
は入力されたパスワードをSecureString
として保存します。これは完全に理にかなっています。しかし、私はHTTP APIを介してパスワードを送信したいと思います。HttpClient
PostAsyncは、フォームエンコードされたデータの文字列を受け付けるようです。C#およびWPF - クライアント側のHTTP APIパスワードにSecureStringを使用する
私は他の人が最も顕著なのIs SecureString ever practical in a C# application?、関連する質問をしてきたが、私が最初String
に変換せずに、HTTPエンドポイントにこのSecureString
を送信するために満足のいく方法を見つけていないことを認識しています。コンバートは最初にSecureString
のオブジェクトを完全に破棄します(プレーンテキストを管理対象メモリに戻すため)。
これを正式に(そして、好ましくは直接)行う方法はありますか?
完全な開示のために、私はHTTP APIを制御できません。
グローバルには理想的ではないかもしれませんが、DisposableString型がないという問題は解決します。とてもよかったです。 HTTP APIは安全な接続であるため、パスワードは技術的に平文で送信されないことに注意してください。 –