如何为WP8构建OpenSSL?
AFAIK,我们必须将winsock.h
替换为winsock2.h
,因为WP8仅支持winsock2.h
。也许我们必须在WP8(ThreadPool,...)
需要注意的是,我们必须将OpenSSL构建为WP8静态库,以便输出lib可以被WP8运行时组件包装,对吗?
答案 0 :(得分: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库。
fork位于
https://github.com/microsoft/openssl
在这个问题上,这些变化正在与主要的OpenSSL源代码库集成。
答案 1 :(得分:2)
这是你要做的,转到this link并下载VSbuild,现在将其放入从OpenSSL网站下载的源文件中,文件夹结构应如下所示:
apps bugs certs ..... vsbuild
一旦完成,打开解决方案,它应该将其升级到VS12,将设置更改为Windows Phone RT构建,生成DLL,不需要构建* _lib *,因此更改其他项目,大多数更改你需要做的是libeay32,不要编译 openssl 项目,只需忽略它,首先构建 libeay32 ,然后开始对代码,因为我们在WinRT中没有一些函数,你可以#ifdef
出来,或创建自己的函数,
注意,rand_win.c
更改了使用rand_s
和#ifdef
大部分代码的功能,这可能会破坏安全性,您将拥有自己测试一下
祝你好运!
答案 2 :(得分:1)
如果有人想要构建新版 OpenSSL“1.0.1g”来解决 Heartbleed 问题,那么您可以按照之前的步骤进行操作变化:
我将文件夹包含重命名为 - include 并创建一个名为include的新文件夹,VS项目将负责复制信息, - include 如果你愿意,你可以删除它,当我构建项目而没有这个改变那里的编译问题。
注意:我更改的include文件夹是在根目录中找到的文件夹,而不是在 VSbuild
下找到的文件夹享受
答案 3 :(得分:0)
下载其他平台的Windows Phone 8.1预编译OpenSSL库:
https://www.teskalabs.com/blog/openssl-binary-distribution-for-developers-static-library
免责声明:我运行该网站。