[英]Cryptography libraries in .NET Standard
我正在尝试构建一个在WPF应用程序和UWP应用程序之间共享的组件。
我创建了一个.NET Standard库来包含通用代码,并且如果将库版本保持为1.2版,则能够构建所有内容。
该库需要从X509Store获得证书,因此:
internal X509Certificate2 GetClientCertificate(string thumbPrint)
{
if (string.IsNullOrEmpty(thumbPrint))
{
throw new ArgumentNullException(nameof(thumbPrint));
}
else
{
var store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadOnly);
var certificates = store.Certificates.Find(X509FindType.FindByThumbprint, thumbPrint, true);
if (certificates.Count > 0)
{
return certificates[0];
}
else
{
throw new Exception($"No client certificate found for thumbprint {thumbPrint}");
}
}
}
如果放置在UWP或WPF项目中,但是放置在.NET Standard库中,则此代码有效
.NET Standard 1.2支持证书存储吗? 如果没有,还有其他方法(在两个项目中都引用不到相同的代码)我可以实现具有X509Store访问权限的组件吗?
您共享的项目可以使用MSBuild的多目标功能来定位,
然后,即使不将WPF项目升级到.NET Framework 4.6.1,也可以共享代码。
您可以在https://blog.lextudio.com/tips-for-net-nuget-package-authors-august-2017-48f07604e4a0中找到更多提示
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.