Flash BuilderでiOSアプリを作る【第4回】『証明書ファイルの作成(Windows編)』

2012.04.04

前回は、Macを使ったiOSアプリ開発に必要な証明書ファイルの作成方法を紹介しました。 今回はWindowsを使ってやってみましょう。

開発用証明書の作成(Windows編)

<今回作成するもの>

  • 証明書署名要求ファイル(*.csr)
  • CER形式証明書ファイル(*.cer)
  • P12形式証明書ファイル(*.p12)

MacではOS付属の「キーチェーンアクセス」を使って証明書署名要求ファイル(CSRファイル)を作成しましたが、 Windowsにはその手のソフトが付属していないので、「OpenSSL」というソフトをダウンロードして利用します。

<用意するもの>

  • ネットへの接続環境
  • お手持ちのWindows

OpenSSLのダウンロードとインストール

OpenSSLは公式サイトにてソースコードが公開されています。 こちらを利用するにはソースコードを自前でコンパイルする必要がありますが、 既に有志の方がコンパイル済みのWindow用バイナリを公開されていますので、 今回はこちらを利用させていただきましょう。有難いですね。

▼OpenSSL Windows Installer Shining Light Productions - Win32/64 OpenSSL 

OpenSSL Download

通常版とLight版がありますが、CSRファイルを作成するだけなのでLight版をダウンロードしましょう。 現在(2012/3/30時点)だと「v1.0.1」が最新のようですね。

32bit版 → Win32 OpenSSL v1.0.1 Light 64bit版 → Win64 OpenSSL v1.0.1 Light

いずれかを自分の環境に合わせてダウンロードします。 ダウンロードが終わったexeファイルを実行してインストール。

 

Microsoft Visual C++

おや「Microsoft Visual C++ 2008 Redistributables がないと動かないっす自分」 と言ってます。 必要に応じてMicrosoft Download Centerからファイルをダウンロードしてインストールしましょう。

 

Microsoft Visual C++ Installed

Microsoft Visual C++もインストールできました。

あとはOpenSSLのインストーラーに戻って「次へ」をクリックし、インストールを続行しましょう。 途中オプションでOpenSSLのインストール場所、寄付の意思などを選択できます。

 

証明書署名要求ファイル(CSRファイル)の作成

OpenSSLのインストールが終わったら、さっそくCSRファイルを作成してみましょう。 CSRファイルは、CER形式証明書ファイル(*.cer)をiOS Dev Centerで発行するために作成します。

cmd

コマンドプロンプト(cmd.exe)を開いて、下記のコマンドを入力していきます。

 

cd C:\OpenSSL-Win64\bin

1)cdコマンドで、OpenSSLのbinディレクトリへ移動します。

 

 openssl genrsa -out yamamoto.key 2048

2)genrsaコマンドで、秘密鍵を作成します。ここでは例として「yamamoto.key」というファイル名で作成しています。

 

openssl req -new -key yamamoto.key -out yamamoto.csr -subj "/emailAddress=yamamoto.ichiro@classmethod.jp, CN=Ichiro Yamamoto, C=JP"

3)reqコマンドで、秘密鍵(yamamoto.key)からCSRファイル(yamamoto.csr)を作成します。この時、メールアドレス(emailAddress)、証明書名(CN)、国(C)を入力します。

 

Results

上手くいくとコマンドプロンプトはこんな風になってるはず。

 

CSR file created

OpenSSLのbinディレクトリにファイルが作成されました。

 

 

CER形式証明書ファイル(*.cer)の取得

ここはMacで行った手順と同様で、iOS Dev CenterのProvisiong Portalにアクセスして、 先ほど作ったCSRファイルをアップロード、CER形式証明ファイルを発行/取得します。

※iOSアプリケーション開発には、その用途に応じて、開発用(直インストール可能なデバッグ用)と、 配布用(App Storeへ公開用)の2種類の証明書がありますが、今回は開発用証明書を取得しましょう。

 

Request Certificate

iOS Dev CenterのProvisioning Portalにアクセス、Developmentタブの「Request Certificate」ボタンをクリックします。 ※配布用(App Storeへ公開用)証明書が必要な際は、Distributionタブから手続きを行います。

 

upload CSR

「ファイルを選択ボタン」をクリックするとファイル選択のダイアログが出るので、 先ほど作成したCSRファイルを選択してアップロードします。

 

Pending Issuance

CSRファイルをアップロードすると、CERファイルの発行待ち状態になります。 画面上でステータスが「Pending Issuance(発行待ち)」となっていますね。

 

Issued

すこし待ってページを更新すると、先ほどのステータスがIssued(発行済)に変わりました! 「Download」ボタンをクリックして、CERファイルをダウンロードしましょう。

 

CER file created

CERファイルを手に入れました。

 

 

P12形式証明書ファイル(*.p12)の作成

P12形式証明書ファイル(P12ファイル)は、先ほど取得したCER形式証明書ファイル(CERファイル)を、 再びOpenSSLを使って「個人情報交換形式(*.P12)」として書き出すことで作成します。

 

CER file moved

先ほど作ったCERファイルをあらかじめOpenSSLのbinディレクトリに移動させておきます。

 

cmd  コマンドプロンプト(cmd.exe)を開きます。

 

cd C:\OpenSSL-Win64\bin

1)cdコマンドで、OpenSSLのbinディレクトリに移動します。

 

openssl x509 -in ios_development.cer -inform DER -out yamamoto.pem -outform PEM

2)x509コマンドで、CERファイル(ios_development.cer)を、PEMファイル(yamamoto.pem)に変換します。

 

openssl pkcs12 -export -inkey yamamoto.key -in yamamoto.pem -out yamamoto.p12

3)pkcs12コマンドで、秘密鍵(yamamoto.key)とPEMファイル(yamamoto.pem)からP12ファイル(yamamoto.p12)を書き出します。 ※この時、p12ファイルを利用する際のパスワードを設定します。2回聞かれますので間違えないよう丁寧に入力しましょう。

 

Results

上手くいくとコマンドプロントはこんな風になっているはず(デジャブ)

 

p12 file created

念願のp12ファイルを手に入れました。

 

次回は開発準備も最終ステージ「プロビジョニングプロファイルの作成方法」をお送りしたいと思います!

山本