我想用 存储和检索密码Windows Hello
。用户可以在登录时选择是要手动输入密码,还是要使用Windows Hello
解锁(然后检索上次使用的密码,并为用户填写)。
如果Windows Hello
设置正确,则文档中有两个用例。
一键解锁:
UserConsentVerificationResult consentResult = await UserConsentVerifier.RequestVerificationAsync("userMessage");
if (consentResult.Equals(UserConsentVerificationResult.Verified))
{
// continue
}
和一个用于签署来自服务器的消息:
var openKeyResult = await KeyCredentialManager.OpenAsync(AccountId);
if (openKeyResult.Status == KeyCredentialStatus.Success)
{
var userKey = openKeyResult.Credential;
var publicKey = userKey.RetrievePublicKey();
//the message is the challenge from the server
var signResult = await userKey.RequestSignAsync(message);
if (signResult.Status == KeyCredentialStatus.Success)
{
//the with the private key of the user signed message
return signResult.Result;
}
}
两者对我的用例都不是很有用:我想要一种对称的方式来存储和检索密码。
简而言之,我的问题是:
有没有办法对称地存储数据Windows Hello
?
相关文档:
https ://docs.microsoft.com/en-us/windows/uwp/security/microsoft-passport