如何为UWP应用程序使用OpenSSL dll

如何为UWP应用程序使用OpenSSL dll,uwp,openssl,nuget,Uwp,Openssl,Nuget,我想使用OpenSSL API,而不是Windows.Security.Cryptogrpahy中的API,原因如下链接所述: 我提到了许多nuget软件包,但没有一个是为UWP应用程序安装的。例如:OpenSSL.Static.Uwp,它无法 它不支持任何目标框架 我还参考了MSFT OpesSSL github源代码 我按照INSTALL.WINUNIVERSAL中的说明编译,但是如何在UWP C应用程序中使用dll libeay32.dll 我尝试将dll添加为内容,但在上述编译过程中,我

我想使用OpenSSL API,而不是Windows.Security.Cryptogrpahy中的API,原因如下链接所述:

我提到了许多nuget软件包,但没有一个是为UWP应用程序安装的。例如:OpenSSL.Static.Uwp,它无法

它不支持任何目标框架

我还参考了MSFT OpesSSL github源代码

我按照INSTALL.WINUNIVERSAL中的说明编译,但是如何在UWP C应用程序中使用dll libeay32.dll

我尝试将dll添加为内容,但在上述编译过程中,我没有在清单中的PackageDependency中提供的发布者和版本信息。此外,我无法在我的C UWP应用程序中使用LoadPackagedLibrary


如何将OpenSSL dll libeay32.dll与C UWP应用程序集成。或者告诉任何成功安装的nuget库。

OpenSSL是一个C库,它不能直接从C开始工作,因为C是托管语言,而C是本机语言。据我所知,由于UWP不允许DllExport,要实现这一点,您需要使用C++/CX或C++/WinRT语言编写库,并使用简单的顶级API,您可以在后台使用直接OpenSSL调用从应用程序调用。为了便于开始,我建议使用成语

现在,您知道如何将库链接到项目,让我们来讨论可用的选项。当然,你可以像以前一样从可用的MS fork手动构建它,你可以通过这种方式获得的更高版本是1.0.2,1.1.1早就被放弃了。另一种方法是使用nuget包,它将构建适当的OpenSSL 1.0.2,查看链接的github页面以获取更多信息,它基于相同的MS repo


正如您所见,没有现成的选项来获取最新的OpenSSL 1.1.1,但您可以从官方主分支构建与UWP兼容的OpenSSL!由于pull请求而成为可能,并且它被合并到master,好吧,只要它是,您仍然与1.1.1完全向后兼容,尽管目前还没有任何稳定的版本,所以使用与否的决定取决于您。

任何一个有任何解决方案或面临相同场景的人,请提供帮助,谢谢您的回复,但是这已经发布很久了,我已经用C++ WiRT组件实现了这个。经过大量的努力,我根据说明为universal platform构建了ssl LIB,并在我的winrt组件中使用了这些LIB。嘿@SiD很高兴听到你解决了你的问题!这是一个很好的做法,在这里张贴答案,即使你自己解决了它:无论如何,我相信它会帮助其他人谁面临类似的问题。