commit 0292cb65702c907a8d40e9f1461e7e8c154a6b0c Author: Felix Schulze Date: Thu Feb 4 14:59:46 2010 +0100 first commit diff --git a/README b/README new file mode 100644 index 0000000..59d9a61 --- /dev/null +++ b/README @@ -0,0 +1,82 @@ +From: http://www.x2on.de/2010/02/01/tutorial-iphone-app-with-compiled-openssl-library/ + +This is a tutorial for using self-compiled builds of the OpenSSL-library on the iPhone. You can build apps with XCode and the official SDK from Apple with this. I also made a small example-app for using the libraries with XCode and the iPhone/iPhone-Simulator. You can also download the precompiled OpenSSL-library (0.9.8m-beta1). + +Create OpenSSL Libary: + + * Download OpenSSL Sourcecode + * Build OpenSSL for i368 iPhoneSimulator: + o cd openssl-0.9.8m + mkdir openssl_arm + mkdir openssl_i386 + ./config --openssldir=/Users/ + + o Edit Makefile: + + Change CC = cc to: + + CC= /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.0 + + + Add as first item to CFLAG: + + -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.1.2.sdk + + o Change in crypto/ui/ui_openssl.c + + static volatile sig_atomic_t intr_signal; + + to + + static volatile int intr_signal; + + for preventing building error + o Build it: + + make + make install + + o Your libcrypto.a and libssl.a are in the folder openssl_i368/lib + o Rename the two files to libcrypto_i386.a and libssl_i386.a + * Build OpenSSL for arm iPhoneOS: + o Edit Makefile: + + Search and replace openssl_i386 with openssl_arm + + Change -arch i386 in CFLAG to: + -arch armv6 + + Change + + CC= /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.0 + + to + + CC= /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.0 + + + Change + + -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.1.2.sdk + + to + + -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.2.sdk + + o Build it: + make + make install + + o Your libcrypto.a and libssl.a are in the folder openssl_arm/lib + o Rename the two files to libcrypto_arm.a and libssl_arm.a + +Edit your iPhone-XCode project: + + * Copy the “include” folder from OpenSSL into your project-folder + * Copy the libcrypto_*.a and libss_*.a files into your project-folder + * Drag the libcrypto_*.a and libss_*.a files into your XCode Framework Folder-Tree + * Open the Build-Info from your “Target” (Righclick on Target – Get Info) + * Change Library Search Paths to + + $(inherited) "$(SRCROOT)" + + * Change User Header Search Paths to include + * Activate Always Search User Paths + +Enjoy OpenSSL on the iPhone! + +I have made an iPhone OS 3.1.2 XCode Project with OpenSSL 0.9.8m (Beta1) Libaries. The examples uses the MD5-algorithm to calculate an md5 hash from an UITextfield. \ No newline at end of file