質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Q&A

解決済

2回答

3949閲覧

Apple Pushに使う証明書ファイルで、拡張子が.p12と、.penでは何がどう違うのでしょう?

GiveAHand

総合スコア286

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

0グッド

0クリップ

投稿2017/02/15 01:32

Apple Pushに必要な証明は、まずiOSのキーチェーンから作成し、その時点では拡張は.p12ですが、そのまま使うケースと、.penに変換して使う場合がありますよね?

この違いが分からないのですが、.p12と.penの証明書の違いとは一体何なのでしょう?

また、どんなケースが.p12のままでよくて、どんなケースが.penに変換しなくてはいけないのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

can110

2017/02/15 01:51

.pe「m」ではないでしょうか?また両ファイルを利用する流れ(操作)が分かる参考サイトあると回答えられやすいと思います。
guest

回答2

0

ベストアンサー

一般的には、以下のとおり拡張子が表している意味の種類が異なります。

.p12 : 「個人情報交換ファイル」という内容の証明書であることを表しています。
.pem : 「BASE64」でエンコーディングされた証明書であることを表しています。

よって、Apple Push上での特殊な決まりがない限り、ファイルの種類(個人情報交換ファイル)を表明したいときは「.p12」、ファイルのエンコーディング(BASE64)を表明したいときは「.pem」をつけるかと思います。

参考:
RSA鍵、証明書のファイルフォーマットについて
PKCS #12 個人情報交換ファイルとは

投稿2017/02/15 02:01

can110

総合スコア38266

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

GiveAHand

2017/02/15 02:10

can110様 大変わかりやすいご回答をありがとうございます。 つまり、中身の表現の仕方が違うので、この証明書ファイルの受け取り手によって変える必要がるという事ですね。
can110

2017/02/15 02:18

そのとおりです。たとえばopensslコマンドでは対象ファイルのエンコーディングはデフォルトでPEMとして扱いますので、バイナリならオプションでエンコーディング指定する必要があります。
GiveAHand

2017/02/15 02:29

なるほど! おそらく、APNsへの通知で、SSLを使わなければ、エンコーディング不要で、.p12のままでいいんですよね?
can110

2017/02/15 02:35

ApplePushの動作仕様などは分からないので想像ですが、エンコーディングがBASE64かバイナリかはいわゆる暗号有無とは違うので、SSLの使用有無とは関係ないと思います。
GiveAHand

2017/02/15 02:40

なるほど。 opensslはbase64を採用しているだけで、暗号化かどうかの話ではないわけですね。。。 ただ、.p12か.pemかは、送り手側の問題だけでなく、受け手がどうなのかのよって違いますよね?
can110

2017/02/15 02:45

そのあたり受け側の仕様(内容とエンコーディングをどう扱うか)によりますね。拡張子から判断して処理したり、拡張子関係なく、PEMなP12でないとダメとか。
GiveAHand

2017/02/15 02:51

なるほど。やはりそうですよね。 そして、APNsへのPush要求は、どうも.p12でいいみたいですね。
guest

0

.p12(PKCS#12)は証明書と秘密鍵がひとつのファイルにまとまったもの。
.pemは証明書だけで秘密鍵は別。

どちらを使うかは、お使いになる環境によって異なるんじゃないでしょうか。
ApacheHTTPServerならPEM、MicrosoftのIISならPKCS#12とか。

投稿2017/02/15 02:10

kanbeworks

総合スコア829

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

GiveAHand

2017/02/15 02:11

kanbeworks様 すいません。 記述の誤りのご指摘、ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問