2016-04-10 28 views
10

UWPアプリの場合、APIキーやシークレットトークンなどのアプリでデプロイする必要のある秘密を保管するための推奨メカニズムは何ですか?ユーザーが作成した認証トークンPasswordVaultについては意味がありますが、アプリのデプロイメントの一部としてそれらを設定する方法はありません。今まで私はアプリに埋め込まれているが、それは「正しい」または安全とは思われない。APIキーと秘密をUWPアプリケーションに保存するための推奨される方法は何ですか?

+0

を。暗号化を使用してファイル内にデータを保存することを計画しています。このファイルは、アプリ内で復号化してアクセスできるため、誰かがローカルストレージからファイルにアクセスしたとしても、データにアクセスすることはできません。あなたは 'Keycredential'と' Identity'オプションを取得しますが、ユーザがログインすると使用されます。 – Jerin

+0

@Jerin私はそれを考えましたが、あなたはただ問題を動かすようです。どのようにあなたの解読鍵を保護しますか? – dkackman

+0

復号化キーは、コードまたは.dllリソースとして定数として追加されます。誰かがあなたのコードをハックしない限り、使用されている暗号化アルゴリズムと解読鍵を見つけることはできません。 – Jerin

答えて

1

あなたはPasswordCredential API、コードスニペットを使用することができます:私は、必要な情報を保存し、資源としてそれらを追加します作成した.dllに使用ウィンドウ8.1

string CredentialsName = "testing"; 
private PasswordCredential GetCredentialFromLocker() 
{ 
    PasswordCredential credential = null; 

    var vault = new PasswordVault(); 
    IReadOnlyList<PasswordCredential> credentialList = null; 
    try 
    { 
     credentialList = vault.FindAllByUserName(Username); 
    } 
    catch 
    { 
     return credential; 
    } 
    if (credentialList.Count > 0) 
    { 
     credential = credentialList[0]; 
    } 

    return credential; 
} 

public void CreatePassword(string password, string username) 
{ 
    var vault = new PasswordVault(); 
    vault.Add(new PasswordCredential(CredentialsName, username, password)); 

} 
関連する問題