UPDATE:は現代/メトロアプリは、お互いのもので突いてから制限されている一方で、デスクトップアプリケーションがこれらのAPIを介して格納されているすべてのデータに無制限にアクセスできるようになりますのでご注意ください。これを示すコードを含むhttp://www.hanselman.com/blog/SavingAndRetrievingBrowserAndOtherPasswords.aspxを参照してください。
Win8はあなたのためにすべてのこれらのハードの問題の世話をするために設計されていますPasswordVaultと呼ばれる新しいAPIがあります。本当に使いやすく、安全で、ユーザが自分のマシン間を移動するように設定できるため、一度認証情報を入力するだけです。私は正常にOAuthトークンのためにこれを使用しました
資格情報の取得(WinRTが発生する愚かな例外に注意してください...彼らは本当にただのヌルを返す必要があります):
const string VAULT_RESOURCE = "[My App] Credentials";
string UserName { get; set; };
string Password { get; set; };
var vault = new PasswordVault();
try
{
var creds = vault.FindAllByResource(VAULT_RESOURCE).FirstOrDefault();
if (creds != null)
{
UserName = creds.UserName;
Password = vault.Retrieve(VAULT_RESOURCE, UserName).Password;
}
}
catch(COMException)
{
// this exception likely means that no credentials have been stored
}
資格情報の保存:
ユーザーがアプリでログアウトボタンをクリックした資格証明書()の削除
vault.Add(new PasswordCredential(VAULT_RESOURCE, UserName, Password));
:攻撃者である
vault.Remove(_vault.Retrieve(VAULT_RESOURCE, UserName));
をあなたの脅威モデルでは?システムの管理者、または権限のない不正なソフトウェアですか? – CodesInChaos
**独自のセキュリティシステムを開発しないことを強くお勧めします。** Windowsにパスワードを保存するには、_Credential Manager_(Win7以降)があります。 _WinRt_には[Windows.Security.Credentials'](http://msdn.microsoft.com/library/windows/apps/windows.security.credentials.aspx)名前空間に対応するAPIがありますが、_itの記述はまだまだ不十分です。 – ordag