OpenSSL 1.1 and VS2015 and QuarksPwDump – Oh My…
Today’s feat and the reason for this article: Building OpenSSL 1.1 on a new Windoze 10 VM so I can get Quarks PwDump to link.
Followed recipe at http://stackoverflow.com/questions/34410711/how-to-build-openssl-in-vs2015-x86cpuid-asm-is-an-empty-file but required a few changes.
- Windows 10 with latest Service Packs
- GPG4Win 2.3.3. Those bastards. This freeware…required a donation. I just didn’t have the time to go thru and compile the source code, so I gave ’em $5. Hope they choke on it.
- NASM 2.12.02
- Strawberry Perl 18.104.22.168 (64-bit).
- Install GPG4Win, NASM, and Strawberry Perl. VS2015 CE already comes with a
gitoption (I installed basically everything as I may end up building all kinds of stuff).
- Important: Open an Administrator Command Prompt. You need this because when we build OpenSSL – some of the install creates a standalone CA in your
C:\Program Files (x86)\Common\SSLfolder and you won’t have permissions otherwise. Unless you’ve done something stupid like run as an Admin on your dev box. But you didn’t do anything that bone-headed, did you? If so – stop it Now.
- Pull down openssl:
mkdir d:\proj\openssl d: cd \proj\openssl git clone https://github.com/openssl/openssl.git rename openssl src
OK, I did something Kinda Stoopid here – I’m following the recipe above, and I renamed the perfectly-adequate
opensslfolder to be
srcto match the recipe. So don’t be confused in the following instructions.
- Setup your local environment. Notice that I installed the tools on my
D:\drive (I have more room on it):
set path=%path%;"D:\Program Files (x86)\NASM";D:\Strawberry\perl\bin perl Configure VC-WIN32 --prefix=D:\proj\openssl\build enable-static-engine "d:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\vcvars32.bat"
OK – So you can see I installed VS2015 CE on my
D:\drive as well.
- Do the build:
nmake nmake test nmake install
Lots of code spits out. If all goes well, you will see things being built and copied.
On my system I now have everything built in
D:\proj\openssl\build folder (that was the the “prefix” I gave in the configuration command above). Let’s check the version:
D:\proj\openssl\src>D:\proj\openssl\build\bin\openssl.exe version OpenSSL 1.1.1-dev xx XXX xxxx
That looks good! Now let’s check for libraries:
D:\proj\openssl\src>dir D:\proj\openssl\build\lib Volume in drive D is DevTools Volume Serial Number is F488-92EA Directory of D:\proj\openssl\build\lib 10/18/2016 08:29 PM <DIR> . 10/18/2016 08:29 PM <DIR> .. 10/18/2016 08:29 PM <DIR> engines-1_1 10/18/2016 08:42 PM 925,662 libcrypto.lib 10/18/2016 08:42 PM 97,020 libssl.lib 2 File(s) 1,022,682 bytes 3 Dir(s) 36,995,768,320 bytes free
That looks even better…we have libraries.
As for Quarks PwDump? Built and linked like a charm with the two
.lib files above.
So, who would have guessed? Windoze is not completely useless after all.