C# 在Universal Windows项目中存储加密密钥的位置

C# 在Universal Windows项目中存储加密密钥的位置,c#,security,cryptography,windows-10-mobile,windows-10-universal,C#,Security,Cryptography,Windows 10 Mobile,Windows 10 Universal,我正在MSVS2015中使用c#开发一个通用Windows项目。该项目的目标用户是手机用户,以后可能会使用台式机和平板电脑 我需要为用户生成RSA密钥对,并将其安全地存储在设备上。在WindowsPhone8.0中,我使用了CspParameters类来完成此任务,但在Windows10中不可用。在UWP中存储此类敏感数据的正确方法是什么 我用来生成密钥对的代码是: AsymmetricKeyAlgorithmProvider rsaPkcs1ProviderServer = Asymmetri

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

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

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

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

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

文档可在此处找到:

谢谢。似乎ProtectedData不可用,我应该改用DataProtectionProvider。我将进一步研究它。我将使用DataProtectionProvider,否则我将按照您的建议继续。如果你改变你的答案来反映这一点,我将把它标记为一个解决方案。谢谢。我根据你的评论更改了它。使用它怎么样?