Boinc Core Client - HTTPS implementation ======================================== This document describes how to compile a BOINC client that uses Secure Socket Layer (SSL) to communicate with servers. This is not currently supported. BUILD PROCEDURES 1 Build OpenSSL Static library which works with Boinc Client on Windows 1-1) Install Perl (to compile OpenSSL) Download package. URL: http://aspn.activestate.com/ASPN/Downloads/ActivePerl/index/ install.bat will start installation. 1-2) Download and install OpenSSL URL: http://www.openssl.org/source/ 2798433 Mar 17 13:13:26 2004 openssl-0.9.7d.tar.gz (PGP sign) [LATEST] 1-3) Download Assembler (to compile sslelay32.lib, libeay32.lib) Download nasm.exe, and put it in some directory where %PATH% can find. http://sourceforge.net/project/showfiles.php?group_id=6208 (Configure) C:\openssl-0.9.7d>perl Configure VC-WIN32 (Build assembler code) C:\openssl-0.9.7d>ms\do_nasm * To compile debug library, need to add 'debug' option in file 'do_nasm'. perl util\mk1mf.pl debug nasm VC-WIN32 >ms\nt.mak (Build main code) C:\openssl-0.9.7d>nmake -f ms\nt.mak * Before executing nt.mak, change make file 'nt.mak' as follows: For release build: /MD /MT, and For debug build: /MDd /MTd (Check library) C:\openssl-0.9.7d>cd out32 C:\openssl-0.9.7d\out32>..\ms\test.bat * If successfully build, you will see 'passed all tests' messages 2 Build BOINC Client To discriminate the libraries, rename library files: - libeay32_release.lib ssleay32_release.lib for release build, - and libeay32_debug.lib ssleay32_debug.lib for debug build. 2-1) Put all ssl libraries in the new directory 'SSL_Use' (or other directories) Directory: \boinc\SSL_Use\ (Optional) To discriminate core client executables, create new .Net project and directory for executables: BoincClient CUI: Project name - boinc_cli_SSL , executables - \boinc-2.19\SSL_Use\Build\Debug\boinc_cli_SSL.exe \boinc-2.19\SSL_Use\Build\Release\boinc_cli_SSL.exe BoincClient GUI Project name - boinc_gui_SSL , executables - \boinc-2.19\SSL_Use\Build\Debug\boinc_gui_SSL.exe \boinc-2.19\SSL_Use\Build\Release\boinc_gui_SSL.exe 2-2) Change project configuration for boinc_gui_SSL and boinc_cli_SSL [boinc_xxx_SSL project]-[properties]-[Linker]-[Input] -[Additional Dependencies] For release build: (add) libeay32_release.lib ssleay32_release.lib For debug build: (add) libeay32_debug.lib ssleay32_debug.lib [boinc_xxx_SSL project]-[properties]-[C/C++]-[General] -[Additional Include Directories] For release build: (add) ../openssl-0.9.7d/inc32/ For debug build: (add) ../openssl-0.9.7d/inc32/ 2-3) Build projects