在通用Windows项目中存储CryptographicKey的位置

本文关键字:存储 CryptographicKey 位置 项目 Windows | 更新日期: 2023-09-27 18:37:01

我正在使用 c# 在 MSVS2015 中开发一个通用 Windows 项目。该项目针对的是手机用户,以后可能会进入台式机和平板电脑。

我需要为用户生成 RSA 密钥对并将其安全地存储在设备上。在Windows Phone 8.0中,我使用了CspParameters类来完成此任务,但这在Windows 10中不可用。在 UWP 中存储此类敏感数据的正确方法是什么?

我用于生成密钥对的代码是:

AsymmetricKeyAlgorithmProvider rsaPkcs1ProviderServer = AsymmetricKeyAlgorithmProvider.OpenAlgorithm(AsymmetricAlgorithmNames.RsaPkcs1);
_clientKeyPair = rsaPkcs1ProviderServer.CreateKeyPair(RSA_KEY_SIZE);

在通用Windows项目中存储CryptographicKey的位置

您可以使用 Windows.Security.Cryptography.DataProtection.DataProtectionProvider 类来保护使用当前用户/计算机凭据的数据。然后,您可以简单地将其保存到文件中。

文档可在此处找到:https://msdn.microsoft.com/library/windows/apps/br241559