SSL通信での認証処理

 

※本記事は、旧ブログからの再掲です。

SSL通信を行う際には認証処理も必要となります。
今回はテスト用に自己証明書を使って認証を行う方法です。

まず自己証明書の作成からです。
SSL環境構築 という記事にSSLサーバー証明書の作成方法を書いているので、その続きからとします。

証明書の形式をPEMからDERに変換します。
ターミナル上で下記コマンドを実行します。

# openssl x509 -inform PEM -outform DER -in server.crt -out server.der

作成されたserver.derをアプリのプロジェクトにコピーします。
TARGETSの”Copy Bundle Resources”に追加されていることを確認します。

次に認証処理の追加です。
通信処理を行うクラスにNSURLConnectionのdelegateメソッドを追加します。 (さらに…)

SSL環境構築

 

※本記事は、旧ブログからの再掲です。

MacにSSLサーバーの環境を構築したので、そのときの手順を備忘録として残しておきます。

<手順>
(1)作業ディレクトリの作成
(2)乱数データの作成
(3)サーバー鍵の作成
(4)CSRの作成
(5)CAの鍵の作成
(6)CA証明書の作成
(7)サーバー証明書の作成
(8)/etc/apache2に配置
(9)パスフレーズの削除
(10)アクセス権の変更
(11)httpd.confの設定変更
(12)httpd-ssl.confの設定変更
(13)コンフィグファイルの文法チェック
(14)Apache再起動

※環境
OS:Mac OS X 10.8.2
(さらに…)

iOSバージョン判定

 

※本記事は、旧ブログからの再掲です。

アプリのiOSバージョンの対象を広げたい場合には、
プログラムの中で未対応バージョンの考慮が必要となります。
iOSバージョン判定についての備忘録です。

iOSのバージョンは以下の方法で取得できます。
NSString *osVersion = [[UIDevice currentDevice] systemVersion];

iOSバージョンが文字列で返されるので、
– (NSComparisonResult)compare:(NSString *)string options:(NSStringCompareOptions)mask
メソッドを使用して判定します。
optionsにNSNumericSearchを指定すると、数字は数値として比較されます。 (さらに…)

storyboard削除

 

※本記事は、旧ブログからの再掲です。

Xcodeでプログラム実行時に下記メッセージが表示されているのが前から気になっていたので

“Unknown class ViewController in Interface Builder file.”

ネットで調べたところ、プロジェクト作成時にstoryboardを使用する設定にしていたため、
そこに設定されているViewControllerクラスがないということで表示されていると分かりました。

storyboardは使用していないので、プロジェクトから削除することにしました。
・MainStoryboard.storyboardというファイルをDelete(Move to trash)。
・Supporting Files/xxx-Info.plistファイル内の”Main storyboard file base name”を削除
この2手順を行うことにより、実行時に上記メッセージは表示されなくなりました。

 

Apple ドキュメント

 

Apple ドキュメントへのリンクです。

Apple 日本語ドキュメント一覧

以下は上記ドキュメント一覧からの抜粋です。

<初心者向け>

「iOS ヒューマンインターフェイス ガイドライン」
 ⇒iOSアプリケーション用に最高のユーザインターフェイスとユーザ体験を設計する上で役立つガイドラインと原則について説明。

「初めての iOS アプリケーション」
 ⇒Xcodeを使用した新規プロジェクト作成方法についてのチュートリアルになっています。

「2つ目のiOSアプリケーション:ストーリーボード」
 ⇒ストーリーボードを使ってナビゲーションベースのアプ リケーションを開発する手順が解説されています。チュートリアルになっています。

「3つ目のiOSアプリケーション:iCloud」
 ⇒iCloudドキュメントストレージAPIが紹介されています。チュートリアルになっています。

「Cocoa向けコーディン グ ガイドライン」
 ⇒Cocoaフレームワークの記述に使用する命名規約(メソッド名、プロパティ、データ型等)や、フレームワーク開発者のためのプログラミング技法などが説明されています。

(さらに…)