Giter Site home page Giter Site logo

microsoft / openssl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from openssl/openssl

132.0 72.0 57.0 158.13 MB

A cross-platform cryptographic library

Shell 0.64% Perl 16.40% Assembly 1.66% C++ 2.61% C 72.10% Makefile 3.61% eC 0.02% Scheme 0.02% C# 0.15% Objective-C 0.40% Prolog 0.14% Batchfile 0.34% DIGITAL Command Language 1.57% M4 0.24% XS 0.02% Roff 0.01% Perl 6 0.08%

openssl's Introduction

openssl's People

Contributors

msftgits avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openssl's Issues

BIO file functions do now work.

We didn't connect the applink interface on Windows Store and Windows Phone produced DLLs which can cause a crash when accessing files through the BIO interface.

If you use the files through the BIO interface, you can work around this issue by using a static lib instead.

OpenSSL 1.1.0

Are there any plans on integrating the OpenSSL 1.1.0 release into this fork?

Compile OpenSSL for WP8.0

I cant to add compiled dll into my WP8.0 project, i always get error "A reference to a higher version or incompatible assembly cannot be added to the project."

How i do it:

  1. Execute the following script in the source root tree.
    ms\do_vsprojects.bat
  2. Open visual studio solution created
    vsout\openssl.sln
  3. Run Unit Test App Projects
  4. ms\do_packwinapp.bat

Finally i got two dlls ssleay32.dll and libeay32.dll from path "\openssl\vsout\package\bin\Phone\8.0\Dll\Unicode\Release\arm". I am trying to add this dlls into my WP8.0 project.

What am i doing wrong?
Thanks.

Can't build with Visual Studio 2015 SP3

To viewer,
I have downloaded the source from this site. I followed the instruction to create openSSL.sln and project files everything was fine.
I use Visual Studio Profession 2015 Version 14.0.25431.01 Update 3 to open openSSL.sln and build "NT-Phone-8.1-Static-Unicode(Windows Phone 8.1)". First, I got error:"fatal error C1107 can't find Windows.winmd", I find a Windows.winmd and copy it to proper folder, problem solved. And then, build it again. This time I got another error message "error C3624: 'System::Attribute': use of this type requires a reference to assembly 'mscorlib'", What can I do to fix this problem?

Hi!

Hey folks, hello! Kinda neat you're doing this. Can you explain how it interacts with openssl mainline, etc? Perhaps in a note to openssl-dev or if you want just the team at openssl-team?

Running vs_dovsprojects.bat does not build OpenSSL_1_0_2_WinRT-stable

Hangs after:

` 1 file(s) copied.
creating project vsout\NT-Store-8.1-Static-Unicode
Configuring for VC-WINSTORE
no-asm [option] OPENSSL_NO_ASM
no-deprecated [default] OPENSSL_NO_DEPRECATED (skip dir)
no-dso [option]
no-ec_nistp_64_gcc_128 [default] OPENSSL_NO_EC_NISTP_64_GCC_128 (skip dir)
no-gmp [default] OPENSSL_NO_GMP (skip dir)
no-hw [option] OPENSSL_NO_HW
no-jpake [experimental] OPENSSL_NO_JPAKE (skip dir)
no-krb5 [krb5-flavor not specified] OPENSSL_NO_KRB5
no-md2 [default] OPENSSL_NO_MD2 (skip dir)
no-rc5 [default] OPENSSL_NO_RC5 (skip dir)
no-rfc3779 [default] OPENSSL_NO_RFC3779 (skip dir)
no-sctp [default] OPENSSL_NO_SCTP (skip dir)
no-shared [default]
no-ssl-trace [default] OPENSSL_NO_SSL_TRACE (skip dir)
no-store [experimental] OPENSSL_NO_STORE (skip dir)
no-unit-test [default] OPENSSL_NO_UNIT_TEST (skip dir)
no-zlib [default]
no-zlib-dynamic [default]
IsMK1MF=1
CC =cl
CFLAG =-DOPENSSL_THREADS -DUNICODE -D_UNICODE -Zi -W3 -wd4090 -Gs0 -GF -Gy -nologo -DOPENSSL_SYS_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -DWINAPI_FAMILY=WINAPI_FAMILY_PC_APP -DOPENSSL_NO_ASM -DOPENSSL_NO_INLINE_ASM -DOPENSSL_WINAPP -FIsdkddkver.h -DUNICODE -D_UNICODE
EX_LIBS =
CPUID_OBJ =mem_clr.o
BN_ASM =bn_asm.o
EC_ASM =
DES_ENC =des_enc.o fcrypt_b.o
AES_ENC =aes_core.o aes_cbc.o
BF_ENC =bf_enc.o
CAST_ENC =c_enc.o
RC4_ENC =rc4_enc.o rc4_skey.o
RC5_ENC =rc5_enc.o
MD5_OBJ_ASM =
SHA1_OBJ_ASM =
RMD160_OBJ_ASM=
CMLL_ENC =camellia.o cmll_misc.o cmll_cbc.o
MODES_OBJ =
ENGINES_OBJ =
PROCESSOR =
RANLIB =/c/cygwin/bin/ranlib
ARFLAGS =
PERL =/bin/perl
THIRTY_TWO_BIT mode
BN_LLONG mode
RC4_INDEX mode
RC4_CHUNK is undefined

Configured for VC-WINSTORE.
unknown option - no-dso
no rule for apps\ at util\mk1mf.pl line 1252.
File include/openssl/tls1.h: cannot parse: ()

INFO::;

File include/openssl/tls1.h: cannot parse: ()

INFO::;

`

This is how building for VS2017 works for me...

Hello,

first of all thanks to Mr. Khouzam for his work on the UWP build of openssl. I had some problems getting the VS2017 build working so in case others have the same problem, this is what works for me (see my specs below):

  1. Download the file openssl-OpenSSL_1_0_2_WinRT-stable-vs2017.zip and unpack recursively into a directory such as c:\openssl-OpenSSL_1_0_2_WinRT-stable-vs2017.
  2. Apply the following patch (which I will try to describe below) to ms\setVSvars.bat (the revisions 9023 and 9031 come from my SVN)

Index: setVSvars.bat

--- setVSvars.bat (revision 9023)
+++ setVSvars.bat (revision 9031)
@@ -29,10 +29,12 @@
call:setVar _VS15VC VisualStudio15VC
if not "%_VS15VC%"=="" (
call "%_VS15VC%\vcvarsall" x86_arm store

  •   rem
      call:setEnv
      goto :eof
    
    )
    call:setVar _VS14VC VisualStudio14VC
  • rem
    call "%_VS14VC%vcvarsall" x86_arm store
    call:setEnv
    goto :eof
    @@ -207,7 +209,7 @@
    call:setVar _VS15VC VisualStudio15VC
    call:setVar _WKITS10 WindowsKits10.0
    call:setVar _WKITS10VER WindowsKits10Version
  • set LIBPATH=%LIBPATH%;%_WKITS10%\references%_WKITS10VER%.0\windows.foundation.foundationcontract\2.0.0.0;%_WKITS10%references%_WKITS10VER%.0\windows.foundation.foundationcontract\3.0.0.0;%_WKITS10%\references%_WKITS10VER%.0\windows.foundation.universalapicontract\2.0.0.0;%_WKITS10%\references%_WKITS10VER%.0\windows.foundation.foundationcontract\1.0.0.0;%_WKITS10%\references%_WKITS10VER%.0\windows.foundation.universalapicontract\4.0.0.0;%_WKITS10%\references%_WKITS10VER%.0\windows.foundation.universalapicontract\3.0.0.0;%_WKITS10%\references%_WKITS10VER%.0\windows.foundation.universalapicontract\2.0.0.0;%_WKITS10%\references%_WKITS10VER%.0\windows.foundation.universalapicontract\1.0.0.0\
  • set LIBPATH=%LIBPATH%;%_WKITS10%\references%_WKITS10VER%.0\windows.foundation.foundationcontract\3.0.0.0;%_WKITS10%\references%_WKITS10VER%.0\windows.foundation.foundationcontract\2.0.0.0;%_WKITS10%references%_WKITS10VER%.0\windows.foundation.foundationcontract\3.0.0.0;%_WKITS10%\references%_WKITS10VER%.0\windows.foundation.universalapicontract\2.0.0.0;%_WKITS10%\references%_WKITS10VER%.0\windows.foundation.foundationcontract\1.0.0.0;%_WKITS10%\references%_WKITS10VER%.0\windows.foundation.universalapicontract\4.0.0.0;%_WKITS10%\references%_WKITS10VER%.0\windows.foundation.universalapicontract\3.0.0.0;%_WKITS10%\references%_WKITS10VER%.0\windows.foundation.universalapicontract\2.0.0.0;%_WKITS10%\references%_WKITS10VER%.0\windows.foundation.universalapicontract\1.0.0.0
    goto :eof

:end

  1. Open a command prompt (not a VS2017 developer command prompt, doesn't matter if it is an x64 or x86 command prompt) and type:

set _WKITS10VER=10.0.15063

  1. Execute the following in this command prompt:

ms\do_vsprojects15.bat

This requires that perl can be located via the PATH environment variable

  1. Run the following from this command prompt:

vsout\openssl.sln

This will fire up VS2017 (unless the .sln extension is tied to a specific version of VS on your computer)

Now build from within Visual Studio 2017. Remember to always set the _WKITS10VER environment variable to 10.0.15063 before firing up a build next time and invoking visual studio to build again. This is the only SDK version that I have found to be working. With this setup, all three platform builds work for me and the tests in the sample apps all pass successfully.

The changes in my patch with the two rem statements look odd and honestly I have no idea why they make things work for me, but I have observed on three machines with VS2017 only that they make things work. Without the first rem statement, the ARM build fails with

'"\vcvarsall"' is not recognized as an internal or external command,

and without the second one, the x64 build (sic!) fails with the same error. Most probably I have overlooked something stupid and obvious, but things work this way.

The last change to the LIBPATH environment variable is what I found is needed for a successful x64 link stage.

Maybe this helps other people to get things working as well. I would be happy if someone has an idea, why the original setVSvars.bat fails with the errors mentioned above so this kludge of mine with those strategically placed :-) rem statements can be replaced with something more meaningful.

Specs: Tested this on three different development machines with either creator's update or fall creator's update. Neither of them had VS2015 installed, all had VS2017 installed. One of the machines had a previous installation of VS2015 installed but removed, but maybe there are some remnants of the VS2015 installation that I am unaware of.

Stefan

A set of APIs from libeay32.dll does not pass Windows App Certification Kit Test

I am trying to create a Windows 8.1 store app which uses OpenSSL. These are the errors I am getting.

?API 1016 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 1070 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 1071 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 109 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 11 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 1161 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 1167 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 118 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 119 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 1220 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 1257 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 129 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 1291 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 1304 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 1305 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 1306 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 1308 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 150 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 161 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 1653 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 1654 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 1795 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 181 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 1882 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 1912 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 1958 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 1969 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 2033 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 2075 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 2111 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 22 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 222 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 223 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 224 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 227 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 233 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 2411 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 2448 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 2454 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 246 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 256 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 2630 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 2631 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 2656 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 266 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 2660 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 268 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 269 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 271 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 272 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 273 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 276 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 279 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 281 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 2821 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 283 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 289 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 2894 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 290 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 2927 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 2936 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 298 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 2996 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 3019 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 302 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 3067 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 3109 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 3212 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 323 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 3245 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 3253 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 3286 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 3312 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 3313 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 3315 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 333 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 355 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 356 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 357 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 362 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 366 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 3686 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 3844 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 401 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 4119 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 4164 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 421 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 423 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 4245 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 4430 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 464 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 469 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 484 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 486 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 493 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 497 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 509 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 510 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 52 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 566 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 567 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 575 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 576 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 577 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 578 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 581 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 585 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 600 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 602 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 605 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 606 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 607 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 608 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 623 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 624 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 626 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 628 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 629 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 641 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 653 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 654 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 656 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 657 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 66 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 67 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 679 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 680 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 748 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 749 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 754 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 78 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 82 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 851 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 852 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 871 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 877 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 89 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 9 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 909 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 910 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 917 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 93 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 95 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 961 in libeay32.dll is not supported for this application type. my_pkcs.dll calls this API.
?API 74 in ssleay32.dll is not supported for this application type. my_pkcs.dll calls this API.

Any thoughts?

What are the branches for, which one should be used?

Hello Mr. Khouzam,

maybe I have overlooked, but can you explain which branches should be used currently with which version of Visual Studio? What is this Project Nagisa branch intended for? Is there one branch now that can be used with both VS2015 and VS2017 or do I still have to resort to the OpenSSL_1_0_2_WinRT-stable-vs2017 for targetting VS2017? Are there any plans to update to OpenSSL 1.0.2o?

Thanks for all your efforts, I appreciate your work

--
Stefan

Question: Engine static libraries missing?

The engine DLLs are generated for the DLL project and this is clearly shown in the corresponding auto-generated make file (nt-$(Configuration)-$(Platform).mak as in for instance nt-Debug-x64.mak) as follows (around line # 440).

E_SHLIB=$(ENG_D)\4758cca.dll \
    $(ENG_D)\aep.dll $(ENG_D)\atalla.dll $(ENG_D)\cswift.dll \
    $(ENG_D)\gmp.dll $(ENG_D)\chil.dll $(ENG_D)\nuron.dll \
    $(ENG_D)\sureware.dll $(ENG_D)\ubsec.dll $(ENG_D)\padlock.dll \
    $(ENG_D)\capi.dll $(ENG_D)\gost.dll 

Is it possible that the Engine Static Libraries are also generated for the Static project?

If you look into the make file for the static project, the equation for E_SHLIB= is just followed by a blank line, which means the static libraries 4758cca.lib aep.lib atalla.lib cswift.lib gmp.lib chil.lib nuron.lib sureware.lib ubsec.lib padlock.lib capi.lib gost.lib are never generated. Or is there a trick such as passing a parameter to get it generated (which I don't think so).

Having the engine static lib is very handy and inspecting the auto-generated make file, it looks there was an intent to provide, but somehow the lib file names are missing after E_SHLIB=. Can this be corrected?

Errors while compiling with RS1 (10.0.14393.0) Windows SDK

I ran into 2 issues while compiling with RS1 Windows SDK. It worked fine with TH2 Windows SDK.

  1. The include paths are not set properly. It seems that ms\setVSvars.bat read the registry to find the version of the windows SDK. For TH2, the HKLM\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v10.0\ProductVersion is set to "10.0.10586.0". This version matches the directory name for of the include directory, ie. C:\Program Files (x86)\Windows Kits\10\Include\10.0.10586.0\um. However, for RS1, it is set to "10.0.14393". Notice the last ".0" is missing. Because of this missing ".0", the include path doesn't match the actual path, C:\Program Files (x86)\Windows Kits\10\Include\10.0.14393.0\um.
  2. I'm getting the following error while linking to libeay32.lib. In o_dir.c, it uses FindFirstFile() for non-uwp configuration. For UWP-configuration, the build process force included the header, winrtdef.h, to #define FindFirstFile() to FindFirstFileEx(). While, this worked in TH2, it's now broken in RS1. In RS1, line 301 of fileapi.h (re-)defined "FindFirstFile" back to "FindFirstFileW". Since "FindFirstFileW" is not a UWP api, we see the link error below.

libeay32.lib(o_dir.obj) : error LNK2019: unresolved external symbol __imp_FindFirstFileW referenced in function OPENSSL_DIR_read

Build error in ARM / Release configuration

I am running into issues building the ARM Release configurations:

Static-Unicode:
All packages are already installed and there is nothing to restore.
NuGet package restore finished.
1>------ Build started: Project: NT-Universal-10.0-Static-Unicode, Configuration: Release ARM ------
1> 10.0.10069.0
1>
1> Microsoft (R) Program Maintenance Utility Version 14.00.22816.0
1> Copyright (C) Microsoft Corporation. All rights reserved.
1>
1>
1> Microsoft (R) Program Maintenance Utility Version 14.00.22816.0
1> Copyright (C) Microsoft Corporation. All rights reserved.
1>
1> Building OpenSSL
1> link /dll /EXPORT:winrt_main /nologo /APPCONTAINER "WindowsApp.lib" /debug /out:vsout\NT-Universal-10.0-Static-Unicode\Release\arm\bin\bftest.dll @C:\Users\MICHAE~1\AppData\Local\Temp\nm4B3D.tmp
1> Creating library vsout\NT-Universal-10.0-Static-Unicode\Release\arm\bin\bftest.lib and object vsout\NT-Universal-10.0-Static-Unicode\Release\arm\bin\bftest.exp
1>LINK : fatal error LNK1101: incorrect MSPDB140.DLL version; recheck installation of this product
1>NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_ARM\link.EXE"' : return code '0x44d'
1> Stop.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.MakeFile.Targets(42,5): error MSB3073: The command "build.bat Release ARM" exited with code 2.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Dll-Unicode:
All packages are already installed and there is nothing to restore.
NuGet package restore finished.
1>------ Build started: Project: NT-Universal-10.0-Dll-Unicode, Configuration: Release ARM ------
1> 10.0.10069.0
1>
1> Microsoft (R) Program Maintenance Utility Version 14.00.22816.0
1> Copyright (C) Microsoft Corporation. All rights reserved.
1>
1>
1> Microsoft (R) Program Maintenance Utility Version 14.00.22816.0
1> Copyright (C) Microsoft Corporation. All rights reserved.
1>
1> Building OpenSSL
1> link /nologo /APPCONTAINER "WindowsApp.lib" /debug /dll /out:vsout\NT-Universal-10.0-Dll-Unicode\Release\arm\bin\libeay32.dll /def:ms/LIBEAY32.def @C:\Users\MICHAE~1\AppData\Local\Temp\nmE7C7.tmp
1>vsout\NT-Universal-10.0-Dll-Unicode\Release\arm\tmp\winrt.obj : warning LNK4042: object specified more than once; extras ignored
1> Creating library vsout\NT-Universal-10.0-Dll-Unicode\Release\arm\bin\libeay32.lib and object vsout\NT-Universal-10.0-Dll-Unicode\Release\arm\bin\libeay32.exp
1>LINK : fatal error LNK1101: incorrect MSPDB140.DLL version; recheck installation of this product
1>NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_ARM\link.EXE"' : return code '0x44d'
1> Stop.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.MakeFile.Targets(42,5): error MSB3073: The command "build.bat Release ARM" exited with code 2.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

openssl-1.0.2p local build error with vs2015

I am building the openssl-1.0.2p WinRT locally, I was doing this by following the "INSTALL_WINUNIVERSAL". (Please note that this is for x86 debug)

errors are as following:
1>.\crypto\rand\randfile.c(331): error C2220: warning treated as error - no 'object' file generated
1>.\crypto\rand\randfile.c(331): warning C4013: 'getenv' undefined; assuming extern returning int

2>.\crypto\rand\randfile.c(331): error C2220: warning treated as error - no 'object' file generated
2>.\crypto\rand\randfile.c(331): warning C4013: 'getenv' undefined; assuming extern returning int
2>.\crypto\rand\randfile.c(331): warning C4047: '=': 'char *' differs in levels of indirection from 'int'
2>.\crypto\rand\randfile.c(337): warning C4047: '=': 'char *' differs in levels of indirection from 'int'
2>NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.11.25503\bin\HostX86\x86\cl.EXE"' : return code '0x2'

Please have a look at this.

VS2015 link errors

Hi, after building lib - I have link problems then I try to use it. That looks like this:

[DEBUG] RET: openssl.lib(ossl_engine.obj) : error LNK2001: unresolved external symbol _ENGINE_load_4758cca

[DEBUG] RET: openssl.lib(ossl_engine.obj) : error LNK2001: unresolved external symbol _ENGINE_load_aep

[DEBUG] RET: openssl.lib(ossl_engine.obj) : error LNK2001: unresolved external symbol _ENGINE_load_atalla

[DEBUG] RET: openssl.lib(ossl_engine.obj) : error LNK2001: unresolved external symbol _ENGINE_load_chil

[DEBUG] RET: openssl.lib(ossl_engine.obj) : error LNK2001: unresolved external symbol _ENGINE_load_cswift

[DEBUG] RET: openssl.lib(ossl_engine.obj) : error LNK2001: unresolved external symbol _ENGINE_load_nuron

[DEBUG] RET: openssl.lib(ossl_engine.obj) : error LNK2001: unresolved external symbol _ENGINE_load_sureware

[DEBUG] RET: openssl.lib(ossl_engine.obj) : error LNK2001: unresolved external symbol _ENGINE_load_ubsec

Seems that engine didn't be compiled. I use only static libs (libeay32.lib and ssleay32.lib). Tell me, please what am I doing wrong?

Fix ms/setVSvars.bat for new windows.foundation.foundationcontract & windows.foundation.universalapicontract

I had to make the following change to build the OpenSSL_1_0_2_WinRT-stable branch using a recent Visual Studio Community 2015 update:

diff --git a/ms/setVSvars.bat b/ms/setVSvars.bat
index 5da96bb..7bc3f8a 100644
--- a/ms/setVSvars.bat
+++ b/ms/setVSvars.bat
@@ -177,7 +177,7 @@ exit /b
    set PATH=%_VS14VC\Bin%;%PATH%
    set INCLUDE=%_VS14VC%\include;%_WKITS10%\Include\%_WKITS10VER%\um;%_WKITS10%\Include\%_WKITS10VER%\shared;%_WKITS10%\Include\%_WKITS10VER%\winrt;%_WKITS10%\Include\%_WKITS10VER%\ucrt;
    set LIB=%_VS14VC%\lib\store\%_VCLibPlat%;%_WKITS10%\lib\%_WKITS10VER%\um\%_VCPlatform%;%_WKITS10%\Lib\%_WKITS10VER%\ucrt\%_VCPlatform%;
-   set LIBPATH=%_WKITS10%\UnionMetadata\Facade;%_VS14VC%\vcpackages;;%_WKITS10%\references\windows.foundation.foundationcontract\1.0.0.0\;;%_WKITS10%\references\windows.foundation.universalapicontract\1.0.0.0\
+   set LIBPATH=%_WKITS10%\UnionMetadata\Facade;%_VS14VC%\vcpackages;;%_WKITS10%\references\windows.foundation.foundationcontract\2.0.0.0\;;%_WKITS10%\references\windows.foundation.universalapicontract\2.0.0.0\
    goto :eof

 :end

I suspect almost the same change will be needed to the WinRT branch.

FYI @sgrebnov (Sergey Grebnov) made an excellent tool for newcomers like myself to build OpenSSL for Windows 8.1 and Windows 10 UWP at: https://github.com/sgrebnov/OpenSSL-WinRT-build

uwp builds with nmake will fail WACK testing

When using ms/do_winuniversal.bat to set up a UWP build, the openssl dlls will fail WACK after building with nmake (ie. nmake -f ms\ntdll.mak)

The dlls fail WACK because the store option is missing from the call to vcvarsall in ms/setVSvars.bat,

:set_universal10.0Win32
	call:setVar _VS14VC VisualStudio14VC
	call "%_VS14VC%vcvarsall" x86 store <-- missing store parameter
	set _VCPlatform=x86
	set _VCLibPlat=
	call:setEnv
	goto :eof


:set_universal10.0x64
	call:setVar _VS14VC VisualStudio14VC
	call "%_VS14VC%vcvarsall" x64 store <-- missing store parameter
	set _VCPlatform=x64
	set _VCLibPlat=amd64
	call:setEnv
	goto :eof


:set_universal10.0arm
	call:setVar _VS14VC VisualStudio14VC
	call "%_VS14VC%vcvarsall" x86_arm store <-- missing store parameter
	set _VCPlatform=ARM
	set _VCLibPlat=ARM
	call:setEnv
	goto :eof


:set_universal10.0arm64
	call:setVar _VS14VC VisualStudio14VC
	call "%_VS14VC%vcvarsall" x86_arm64 store <-- missing store parameter
	set _VCPlatform=ARM64
	set _VCLibPlat=ARM64
	call:setEnv
	goto :eof

miss header file asn1_mac.h

I am using WinRT branch to build OpenSSL for Windows Phone 8.1.
The file asn1_mac.h doesn't exist in the header folder, however, official OpenSSL source code has it.
May I know any reason to remove it? Thanks in advance.

PS: My working environment:

Windows 10, VS 2013 Ultimate 

Cannot build windows 10 x64!

3>------ Build started: Project: NT-Universal-10.0-Static-Unicode-testapp, Configuration: Release x64 ------
2>LINK : fatal error LNK1181: cannot open input file 'WindowsApp.lib'
2>NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64\link.EXE"' : return code '0x49d'
2> Stop.
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.MakeFile.Targets(41,5): error MSB3073: The command "build.bat Release x64" exited with code 2.

Please provide fix. My current project doesn't yet need x64, but this is concerning none the less since I will in the future.

Smaller crypto build to support SQLCipher

With help from https://github.com/sgrebnov/OpenSSL-WinRT-build along with the fix to ms/setVSvars.bat I was able to build OpenSSL and test it with SQLCipher on Windows 8.1, Windows Phone 8.1, and Windows 10 for storesafe/cordova-sqlcipher-adapter#30. However the build for each CPU target is over 12MB (over 13MB for x64).

But SQLCipher only needs the equivalent of the libcrypto.so part. Not only would this be a smaller build it would be less likely to contain major security vulnerabilities. For example, SQLCipher was completely unaffected by the Heartbleed vulnerability: https://www.zetetic.net/blog/2014/4/10/heartbleed-security-statement-for-sqlcipher.html

It would be great if someone would have a chance to look at this issue or perhaps just give some pointers.

Provide Windows binaries for OpenSSL in order to develop without Perl

OpenSSL requires Perl to build, however it does not depend on Perl to run. Not all developers have Perl installed and, for developers like me, the only reason for installing Perl runtime is to just compile OpenSSL. It would be much better if we can make use of this library just "Out of Box", without any weird dependencies.

Windows is an Application Ecosystem of Microsoft, and it will be beneficial for Microsoft to optimize this ecosystem. Since the binaries are provided by Microsoft, they are able to be considered "official" and "trustworthy" just as the OpenSSL binaries for Ubuntu provided by Canonical (and the upstream Debian).

Thank you for your attention!

runnning do_vsprojects.bat not working - cannot build WinRT sln files

When trying to run the script after being sure that activeperl is properly installed, I get that.

The system cannot find the path specified.
'"\vcvarsall"' is not recognized as an internal or external command,
operable program or batch file.
The system cannot find the path specified.
File not found - OpenSSLTestAppStore8.1
File not found - winrtStore8.1
File not found - MakefileStore
creating project vsout\NT-Store-8.1-Static-Unicode
................

It seems that it's due to this line call ms\setVSVars.bat VS12VC which should set some variables
Hence the second line call "%_VS12VC%\vcvarsall" x86 not working

issue:[email protected]

I have build uwp project after run the do_vsprojects14.bat script,but the vs path is mistake.
maybe need check the path of vs befroe set variables.

setVSvars.bat

:set_WKITS10VER
    if not "%_WKITS10VER%"=="" goto :eof
    call:setRegVar "HKLM\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v10.0" ProductVersion _WKITS10VER
    set _WKITS10VER=%_WKITS10VER%.0
        #why append _WKITS10VER with ".0"
        #set _WKITS10VER=%_WKITS10VER%
    echo %_WKITS10VER%
    if not "%_WKITS10VER%"=="" goto :eof
    goto :eof

VS2017 Support

When to expect updates for VS2017?
Could someone respond? My query from 29 days ago is still open.

error build openssl NT-Store-8.1-Dll

Here's the error message:

Error 214 error C1107: could not find assembly 'windows.foundation.foundationcontract.winmd': please specify the assembly search path using /AI or by setting the LIBPATH environment variable C:\Sherman\ReferenceProjects\C++\openssl-WinRT\vsout\NT-Store-8.1-Dll-Unicode\ms\winrt.cpp NT-Store-8.1-Dll-Unicode

Errors while compiling with RS4 (10.0.17134.0) Windows SDK

C:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt\stdlib.h(1191): error C2375: “winrt_getenv”: redefinition; different linkage

I tried my best to fix it but I found I can't fix that. So I need some help about that.

If someone addressed the error, I suggest next step of this project is adding the Windows 10 ARM64 support.

@khouzam

Mouri

VS2015 Build errors

After a clean clone from the repo I've followed the instructions and am getting:

.\crypto\cryptlib.c: fatal error C1083: Cannot open include file: 'sdkddkver.h':
No such file or directory
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0
\VC\BIN\cl.EXE"' : return code '0x2'

I'm not really a C guy and was hoping to use this library from C# for UWP development so getting a build from it is crucial. On a related note, would you consider adding pre-built libraries to the GitHub releases and / or (and please) offering a NuGet version of this?
Thanks for the work, it is appreciated.

Windows Store 8.1 projects don't build with VS2015

The Windows Store 8.1 projects generated by ms\do_vsprojects.bat don't build with Visual Studio 2015 if VS2013 is not installed. For example, the following error is produced by NT-Store-8.1-Dll-Unicode.vcxproj:

1>.\ms\winrt.cpp : fatal error C1107: could not find assembly 'Platform.winmd': please specify the assembly search path using /AI or by setting the LIBPATH environment variable

NT-Store-8.1-Dll-Unicode.vcxproj

Build Batch Files Update for VS2017

Any idea when the build batch files will be updated for VS2017?

All the build files are geared to VS2015 (SDK folder paths, compiler paths, etc) and doesn't look to be a simple edit to adapt to VS2017 by developers. It would be a great help that this is updated for VS2017.

OpenSSL 1.0.2n

Hi, is there any plan to bump OpenSSL 1.0.2m to 1.0.2n?

WinRT branch builds with errors

The current WinRT branch builds with errors. There is a bad comment at line 1384 in winrtcomponent.cpp and the following build errors also occur:

7>------ Build started: Project: NT-Phone-8.1-Dll-Unicode-testapp, Configuration: Release ARM ------
8>------ Build started: Project: NT-Store-8.1-Static-Unicode-testapp, Configuration: Release ARM ------
9>------ Build started: Project: NT-Store-8.1-Dll-Unicode-testapp, Configuration: Release ARM ------
10>------ Build started: Project: NT-Phone-8.1-Static-Unicode-testapp, Configuration: Release ARM ------
11>------ Build started: Project: NT-Phone-8.0-Static-Unicode-testapp, Configuration: Release ARM ------
12>------ Build started: Project: NT-Phone-8.0-Dll-Unicode-testapp, Configuration: Release ARM ------
9>d:\GitHub\openssl\ms\vstemplates\MainPage.xaml.cs(93,13,93,21): error CS0103: The name 'RunTests' does not exist in the current context
9>d:\GitHub\openssl\ms\vstemplates\MainPage.xaml.cs(99,13,99,21): error CS0103: The name 'RunTests' does not exist in the current context
8>d:\GitHub\openssl\ms\vstemplates\MainPage.xaml.cs(93,13,93,21): error CS0103: The name 'RunTests' does not exist in the current context
8>d:\GitHub\openssl\ms\vstemplates\MainPage.xaml.cs(99,13,99,21): error CS0103: The name 'RunTests' does not exist in the current context

Windows10Universal command line test

I can able to compile using INSTALL.WINUNIVERSAL using below steps

perl Configure no-asm no-hw no-dso VC-WINUNIVERSAL
ms\do_winuniversal
ms\setVSvars universal10.0Win32
nmake -f ms\nt.mak init
nmake -f ms\nt.mak

Now when i try to try to run the tests using command line

nmake -f ms\nt.mak test
I am getting below error
cd out32
..\ms\test
rsa_test
'rsa_test' is not recognized as an internal or external command,
operable program or batch file.
problems.....

I can able to run the tests using the Universal Test App project in Openssl.sln.
Is it possible to run the tests using command line ?

Could not find assembly 'Windows.winmd'

Summary

Trying to build NT-Phone-8.1-Dll-Unicode.vcxproj in Release ARM fails with "could not find assembly 'Windows.winmd'...".

Branch: OpenSSL_1_0_2_WinRT-stable
Tag: OpenSSL_1_0_2j_WinRT
VS: Professional 2015 Version 14.0.25425.01 Update 3

Steps to Reproduce

git clone -b OpenSSL_1_0_2_WinRT-stable https://github.com/Microsoft/openssl.git
cd openssl
git checkout tags/OpenSSL_1_0_2j_WinRT
ms\do_vsprojects.bat
"%VS140COMNTOOLS%vsvars32.bat"
cd ..
msbuild openssl\vsout\NT-Phone-8.1-Dll-Unicode\NT-Phone-8.1-Dll-Unicode.vcxproj /p:Configuration="Release" /p:Platform="ARM" /m

Error

C1107 "could not find assembly 'Windows.winmd': please specify the assembly search path using /Al or by setting the LIBPATH environment variable

Notes

I'm able to successfully build Release/Win32 of the same project. Also tag "OpenSSL_1_0_2h_WinRT" builds fine in Release/ARM.

OpenSSL_1_0_1_WinRT-stable ARM build error

I am trying to build OpenSSL_1_0_1_WinRT-stable for Windows Universal apps with Visual Studio 2015 Version 14.0.25123.00.
I get the following error:

1>.\crypto\cryptlib.c : fatal error C1083: Cannot open include file: 'sdkddkver.h': No such file or directory
1>NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_ARM\cl.EXE"' : return code '0x2'
1> Stop.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.MakeFile.Targets(37,5): error MSB3073: The command "build.bat Debug ARM" exited with code 2.

Any idea how to resolve that?

Bump OpenSSL to 1.0.2o

Hi, I find OpenSSL 1.0.2o is now available, is there any plan to bump OpenSSL 1.0.2n to 1.0.2o?

'GetTickCount' undefined; assuming extern returning int when complile with Windows SDK (10.0.14393.0)

Hi, I have cloned from the repo branch OpenSSL_1_0_2_WinRT-stable. Then I try to build on UWP with ms\do_vsprojects14.bat (for Visual Studio 2015), an error occurs:

rand_win.c
Compile : .\crypto\rand\rand_win.c(664): error C2220: warning treated as error - no 'object' file generated [d:\build\ob\sb-14481047\openssl\windows_store_openssl\src\vsout\NT-Universal-10.0-Dll-Unicode\NT-Universal-10.0-Dll-Unicode.vcxproj]
Compile : .\crypto\rand\rand_win.c(664): warning C4013: 'GetTickCount' undefined; assuming extern returning int [d:\build\ob\sb-14481047\openssl\windows_store_openssl\src\vsout\NT-Universal-10.0-Dll-Unicode\NT-Universal-10.0-Dll-Unicode.vcxproj]
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\cl.EXE"' : return code '0x2' [d:\build\ob\sb-14481047\openssl\windows_store_openssl\src\vsout\NT-Universal-10.0-Dll-Unicode\NT-Universal-10.0-Dll-Unicode.vcxproj]

So I disabled -WX and builded again, an error LNK2019 happened:

rand_win.obj : error LNK2019: unresolved external symbol _GetTickCount referenced in function _readtimer [d:\build\ob\sb-14477110\openssl\windows_store_openssl\src\vsout\NT-Universal-10.0-Dll-Unicode\NT-Universal-10.0-Dll-Unicode.vcxproj]

Note:
I could build successfully with Windows SDK (10.0.16299.0) but failed with 10.0.14393.0.

Is there anything I could to fix this issue?

openssl.sln file will build using msbuild unless first opened in VS2013 then saved

Execute: ms/do_vspackages.bat
Then execute: msbuild openssl.sln /property:Configuration="Debug";Platform="x86"

Result:
Microsoft (R) Build Engine version 12.0.31101.0
[Microsoft .NET Framework, version 4.0.30319.34014]
Copyright (C) Microsoft Corporation. All rights reserved.

Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
Build started 1/6/2015 7:33:18 AM.

Build succeeded.
0 Warning(s)
0 Error(s)

Time Elapsed 00:00:00.03

Opening the solution in VS2013 then saving it and redoing the msbuild step will build the configuration/platform.

Fails Windows Store App Certification

I run a windows store certification kit to check my uwp app and got failed. The error is:

API getenv in api-ms-win-crt-environment-l1-1-0.dll is not supported for this application type. libeay32.dll calls this API.

So I couldn't publish our UWP app with this version of OpenSSL.

I guess the file ms\winrtdef.h cause this issue.

Build hangs while running ms\do_vsprojects14.bat

I've checkout tag OpenSSL_1_0_2g_WinRT. While running ms\do_vsprojects14.bat, it hangs:

Configured for VC-WINSTORE.
unknown option - no-dso
no rule for apps\ at util\mk1mf.pl line 1061.
File ssl/tls1.h: cannot parse: ()

INFO::;

File ssl/tls1.h: cannot parse: ()

INFO::;

However, if I download the zip file OpenSSL_1_0_2_WinRT-stable, everything goes fine. What is the tag name of the 1.0.2g stable version?

Thanks.

[UWP] mismatch detected for 'vccorlib_lib_should_be_specified_before_msvcrt_lib_to_linker'

Just trying build OpenSSL as a static library. That seems to work and produces a static .lib file. I first run ms\do_vsprojects14.bat, and then just build the NT-Universal-10.0-Static-Unicode.vcxproj project from VS.

So, I went ahead and created a dummy DLL project for UWP and added a small usage in dllmain.cpp:

const RAND_METHOD * method = RAND_get_rand_method();

I added the libeay32.lib file and started the build:

...
1> C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\link.exe 
    /ERRORREPORT:PROMPT 
    /OUT:"C:\Project\Debug\Dll2\Dll2.dll" /INCREMENTAL /NOLOGO 
    /LIBPATH:"C:\Project\openssl\vsout\NT-Universal-10.0-Static-Unicode\Debug\Win32\bin" 
    libeay32.lib WindowsApp.lib WindowsApp.lib /MANIFEST:NO /DEBUG:FASTLINK 
    /PDB:"C:\Debug\Dll2\Dll2.pdb" 
    /SUBSYSTEM:CONSOLE /TLBID:1 /APPCONTAINER 
    /WINMD:NO /WINMDFILE:"C:\Project\Debug\Dll2\Dll2.winmd" 
    /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:\Project\Debug\Dll2\Dll2.lib" 
    /MACHINE:X86 /DLL Debug\dllmain.obj
...

I got this error:

1>vccorlib.lib(init.obj) : error LNK2038: mismatch detected for 'vccorlib_lib_should_be_specified_before_msvcrt_lib_to_linker': value '1' doesn't match value '0' in MSVCRTD.lib(app_appinit.obj)
1>vccorlib.lib(init.obj) : error LNK2005: ___crtWinrtInitType already defined in MSVCRTD.lib(app_appinit.obj)
1>C:\Project\Debug\Dll2\Dll2.dll : fatal error LNK1169: one or more multiply defined symbols found

I am not sure where exactly the issue is, but this does not happen with the Store 8.1 and Phone 8.1. Also, as I am just adding the .lib to my dummy DLL, It seems to be a dodgy .lib file? Or, do I need to do something specific. The build does seem to create the openssl.dll file fine, so it is just me and my dll.

inc32 directories missing

The ms\do_pack* scripts have line:
xcopy inc32 vsout\package\include /h /k /r /e /i /y >nul

However, the inc32 directory does not exist in the project.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.