iOS 用 OpenSSL ライブラリの作成

iOS アプリでデータの暗号化、復号を行う場合に、OpenSSL を使用したいことがあると思います。
iOS には Common Crypto というライブラリもありますので、こちらも検討してみることをお勧めしますが、
ここでは OpenSSL ライブラリの作成方法を簡単に説明します。
確認は Mac OS X 10.7.3 / Xcode 4.3.1 で行っています。

OpenSSL ライブラリ(libssl.a と libcrypto.a)の作成は以下の方法が簡単です。

(1) https://github.com/x2on/OpenSSL-for-iPhone からプロジェクトをダウンロードし、zip を解凍します。
試したときは x2on-OpenSSL-for-iPhone-openssl-1.0.0d-4-gc637f77.zip がダウンロードされました。

(2) シェルスクリプト build-libssl.sh がプロジェクトフォルダ内にあるので、これを開き、ベースとなる OpenSSL のバージョンと iOS SDK のバージョンを確認します。必要であれば調整します。

###########################################################################
#  Change values here                                                     #
#                                                                         #
VERSION="1.0.0g"                                                          #
SDKVERSION="5.0"                                                          #
#                                                                         #
###########################################################################

対応する iOS SDK が存在していないと、ライブラリの作成は失敗します。

(3) build-libssl.sh をターミナルで実行します。OpenSSL のソースが自動的にダウンロードされ、ライブラリの作成が始まります。作成されるライブラリは、i386、armv6、armv7 アーキテクチャ用のモジュールをまとめたスタティックライブラリです。

(4) ライブラリの作成が完了したら、プロジェクトフォルダ内の ./include と ./lib を、OpenSSL ライブラリを必要とするプロジェクトにコピーして使用します。OpenSSL を追加したプロジェクトのビルド設定にある検索パスも設定しておきましょう。前出の include と lib を openssl フォルダにまとめてプロジェクトに追加した場合、Header Search Paths に $(SRCROOT)/openssl/include を Library Search Paths に $(SRCROOT)/openssl/lib のように設定します。検索パスはライブラリを追加した場所に応じて適当に調整してください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA