Macで電子証明書を書き出す方法

Macでは、インストールされた電子証明書はキーチェーンアクセスによって管理されています。キーチェーンアクセスは電子証明書だけではなく、以下の様な情報を管理しています。

  • アカウント情報(IDとパスワード)
  • 秘密のメモ
  • 電子証明書
  • 公開鍵
  • 秘密鍵

この記事では、電子証明書を書き出す方法について解説します。

目次

Xcodeの書き出し機能について

iOSアプリの開発などで使用する、Appleデベロッパープログラムによって発行された証明書を、一括して書き出したいときは、Xcodeを使用します。詳しくは次の記事をご覧ください。

この記事では、一括書き出しではなく、個別に証明書を指定して書き出す方法について解説します。

秘密鍵を含めて書き出す方法

秘密鍵を含めて書き出すには次のように操作します。

(1) 「アプリケーション」フォルダ内の「ユーティリティ」フォルダ内の「キーチェーンアクセス」を起動します。

(2) 左側の「デフォルトキーチェーン」から「ログイン」を選択します。システムに元々インストールされている証明書の場合は「システム」や「システムルート」を選択します。

(3) 絞り込みから「証明書」を選択します。

(4) 書き出す証明書を選択します。

(5) 「ファイル」メニューから「書き出す…」を選択します。

(6) 書き出しダイアログが表示されるので、名前と保存先を選択します。

(7) 「フォーマット」から「個人情報交換 (.p12)」を選択し、「保存」ボタンをクリックします。

(8) パスワード入力ダイアログが表示されるので、パスワードを入力し、「OK」ボタンをクリックします。書き出されるファイルは入力したパスワードで暗号化されます。

(9) キーチェーン「ログイン」のパスワードを入力してくださいと表示されるので、使用しているMacの管理者のパスワードを入力します。通常はログインしているユーザーのパスワードです。

(10) 指定した場所に証明書が書き出されます。

鍵が含まれているか確認する

書き出された証明書に鍵が含まれているか確認します。ここでは、秘密鍵が含まれる証明書を書き出したので、書き出した証明書に秘密鍵が含まれているかを確認します。証明書の情報は、opensslを使って確認します。

ターミナルで以下のように入力します。

% openssl pkcs12 -in 証明書ファイル -noout -info

たとえば、証明書.p12であれば次のようになります。

% openssl pkcs12 -in 証明書2.p12 -noout -info
Enter Import Password:

Enter Import Password:と出力され、パスワードの入力待ちになります。書き出し時に指定したパスワードを入力します。すると、次のように表示されます。

MAC Iteration 1
MAC verified OK
PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 2048
Certificate bag
PKCS7 Data
Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2048

以下の2つの情報が証明書に入っていることがわかります。

  • Certificate bag (証明書)
  • Shrounded Keybag (鍵)

証明書と鍵が両方とも出力できていることが確認できました。

X.509証明書を書き出す方法

キーチェーンアクセスは、X.509証明書を書き出すこともできます。X.509証明書を書き出すには、書き出しダイアログで「フォーマット」から「証明書 (.cer)」を選択して書き出します。

書き出したX.509証明書の内容を確認する

書き出したX.509証明書に選択した証明書と公開鍵が入っているかを確認します。確認するにはopensslを使用します。

% openssl x509 -inform der -noout -subject -in 証明書.cer

すると、次のように出力されます。

subject= /UID=XXXXXXXXXX/CN=Apple Development: Akira Hayashi (0123456789)/OU=0123456789/O=Akira Hayashi/C=US

キーチェーンアクセスで表示されていた名前と、CNに書かれている名前が一致しているので、選択した証明書が書き出されています。また、次を実行すると証明書に入っている公開鍵が出力され、公開鍵が入っていることも確認できます。

% openssl x509 -inform der -noout -pubkey -in 証明書.cer
-----BEGIN PUBLIC KEY-----
(省略)
-----END PUBLIC KEY-----

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次