科学の箱

科学・IT・登山の話題

IT

p12ファイルの中身を確認する方法

投稿日:

p12はキーストアの一つの形式です。キーストアとは暗号化された鍵と証明書を一つのファイルの保管する仕組みなります。今回はp12ファイルの内容を見ることで鍵と証明書について理解を深めます。

必要なもの

  • p12ファイル→この中身を確認するわけだからこれは必須
  • p12ファイルパスワード→p12にパスワードがかかっている場合には必要。後述するtoolで中身を確認しようとするとパスワードが要求される
  • keytool→JREに含まれる。keytool単体では提供されていない模様

keytoolはJREに含まれているのでOracleのサイトもしくは”Java インストール”等で検索してJREをインストールする。keytoolはコマンドラインから実行する。しかしkeytoolが保管されているJREのフォルダにはPathが通っていないためにこのままでは実行できない。方法は2つある。

いづれの方法にしてもまずJREがインストールされたパスからkeytoolへのパスを確認する。JREのパスを確認するには自分でフォルダをひっくり返してみるのが一番良い気がする。コマンドラインからwhere javaで探した見たところ、java.exeはsystem32にあることが分かった。しかしkeytoolはここには存在しない。

JREがインストールされているパスをc:\jreとするならば、keytoolへのパスはc:\jre\bin\keytoolとなる。

さて実行方法としては下記の2つである。

  1. 環境変数Pathにフォルダパスを追加する
  2. フォルダパスを指定して実行する

1)の方法を取るならば環境変数pathにc:\jre\binを追加すればよい。2)の方法ならばコマンドラインからの実行時にc:\jre\bin\keytoolとすればよい。

keytool実行時のパラメータは以下のようになる。

ここではp12のファイル名はCertificate.p12でありc:\tempに置かれているとする。

keytool -list -v -keystore C:\temp\Certificate.p12 -storetype PKCS12
キーストアのパスワードを入力してください: xxxx

p12がパスワードで保護されている場合にはkeytoolを実行すると”キーストアのパスワードを入力してください”と表示されるので、ここでパスワードを入力すればよい。わからない場合にはp12ファイル作成者に聞く必要がある。このパスワードがわからない限りはp12情報取得することができない。

コマンドが成功すると以下のように表示される。

キーストアのタイプ: PKCS12
キーストアのプロバイダ: SunJSSE

キーストアには 1 エントリが含まれます。

別名: ios developer: Taro Yamada ( contoso x company )
作成日: 2018/01/16
エントリのタイプ: keyEntry
証明連鎖の長さ: 1
証明書[1]:
所有者: C=US, O=”Contoso”, OU=ABCDEFG, CN=iPhone Developer: TY
実行者: CN=Apple Worldwide Developer Relations Certification Authority, OU=Apple Worldwide
シリアル番号: 57FFFFFFFFFFFFFFF
有効日: Wed Aug 31 22:55:24 JST 2016 有効期限: Thu Aug 31 22:55:24 JST 2017
証明書のフィンガープリント:
MD5:  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
SHA1: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

さてこの結果を一つずつ見ていく。

まずキーストアのタイプ。これはキーの保存形式を意味する。要するにキーのファイル拡張子のようなものである。保存形式には2通りある。

PKCS#12 .p12, .pfx iPhone
jks .jks, .keystore andoroid

今回は.p12であることからすでにkeytoolのパラメータで-storetype PKCS12を指定している。

キーストアプロバイダは要するにこの.p12ファイルを作成したツールは何かです。この場合にはSunJSSEの仕組みで作られている。その他よく見かけるプロバイダには以下がある。

  • SunJCE (JCEKS format)
  • SUN (JKS format)
  • IBMJCE (IBM JREs)
  • SunJSSE (PKCS12 format)

キーストアには複数のキーを保存できる。下記の記述からこのキーストアには一つのキーが含まれていることがわかる。

キーストアには 1 エントリが含まれます。

エントリタイプには4つあり、保管されているもの、証明機関により異なる。

PrivateKeyEntry : 公開鍵・秘密鍵であり、証明機関によりサインされている。

KeyEntry:公開鍵・秘密鍵であるが、証明機関によってサインされていない。

trustedCertEntry:証明書機関によりサインされた証明書

 

証明書のフィンガープリントではこの証明書のSHA1とMD5が表示されている。使い方としてはp12ファイルを送付後双方でフィンガープリントを比較すればファイルが壊れていない、改ざんされていないことがわかる。

メタ情報

inarticle



メタ情報

inarticle



-IT

執筆者:


comment

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

関連記事

no image

cpuに負荷をかける

yes > /dev/null & Related posts:さくらVPS – 初期設定PCMについて知っておくべき最低限のことネットワークアダプタのLEDステータス

no image

PCMについて知っておくべき最低限のこと

PCMはPulse Code Modulationの略である。日本語ではパルス符号変調と呼ばれる。PCMはアナログで流されている音楽をデジタル化するために使用される。 PCMについてまずこの単語を分解 …

no image

shの-lオプション

manからの説明 -l               Make dash act as if it had been invoked as a login shell. Related posts:ht …

no image

Mahoutで採用されているアルゴリズム

Classifier ロジスティック回帰 ナイーブベイズ ランダムフォレスト クラスタリング K-Means Fuzzy K-Means Canopy レコメンド ユーザーベース アイテムベース NM …

no image

Lyncのレジストリキー

Lync 2013クライアントの設定はレジストリに保管される。このキーの場所は以下になる。 HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Lync …

2018年1月
« 12月   2月 »
1234567
891011121314
15161718192021
22232425262728
293031  

side bar top



アーカイブ

カテゴリー