1

如何为 WP8 构建 OpenSSL?

AFAIK,我们必须替换winsock.h为,winsock2.h因为 WP8 仅支持winsock2.h. 也许我们必须替换代码以针对 WP8 上的 WinRT 架构(线程池,...)

需要注意的是,我们必须将 OpenSSL 构建为 WP8 静态库,以便输出库可以被 WP8 运行时组件包装,对吗?

4

4 回答 4

3

您可以在 github 上使用 Microsoft openssl fork,支持 windows phone 8.1/8.0 和 Windows Store 8.1,使用 windows 随机生成器解决每个平台上的熵,说明位于 INSTALL.WINAPP,脚本位于

ms\do_vsprojects.bat

您应该能够使用根位置执行该脚本并打开 vsout\openssl.sln 为不同的 Windows 平台构建 openssl 库。

叉子位于

https://github.com/microsoft/openssl

目前,这些更改正在与主要的 OpenSSL 源代码库集成。

于 2014-10-16T23:16:45.903 回答
2

这是你要做的,去这个链接下载VSbuild,现在把它放到从OpenSSL网站下载的源文件中,文件夹结构应该是这样的:

  apps
  bugs
  certs
  .....
  vsbuild

完成后,打开解决方案,它应该将其升级到 VS12,将设置更改为 Windows Phone RT 构建,生成 DLL 不需要构建 *_lib*,因此更改其他项目,您需要的大部分更改要做的是 libeay32,不要编译openssl项目,忽略它,从构建libeay32开始,然后开始对代码进行更改,因为有些功能我们在 WinRT 中没有,您可以将#ifdef它们删除,或者创建您的自己的功能,

注意rand_win.c更改要使用的功能和rand_s大部分#ifdef代码,这可能会破坏安全性,您必须自己测试

祝你好运 !

于 2013-06-26T08:16:00.457 回答
1

这样一来,如果有人想构建修复Heartbleed问题的新版本OpenSSL“1.0.1g” ,您可以按照前面的步骤进行以下更改:

我将文件夹include重命名为--include并创建了一个名为include的新文件夹,VS项目将负责复制信息,-- include 如果你喜欢你可以删除它,当我构建项目时没有这个更改在那里编译问题。

注意:我更改的包含文件夹是在根目录中找到的文件夹,而不是在VSbuild下找到的文件夹

享受

于 2014-04-10T09:39:54.300 回答
0

以下是 Windows Phone 8.1 以及其他平台的预编译 OpenSSL 库的下载:

https://www.teskalabs.com/blog/openssl-binary-distribution-for-developers-static-library

免责声明:我运行该网站。

于 2017-08-06T20:41:18.723 回答