LoginSignup
5
1

More than 1 year has passed since last update.

Postman/Postman CLI でPFX形式クライアント証明書を利用する方法

Last updated at Posted at 2022-12-24

はじめに

現在APIのテストに Postman を利用しているのですが、担当しているプロダクトにはクライアント証明書(PFX形式)が必須となっています。

そのため、「Postman」とその CLI版の「Postman CLI」での クライアント証明書 (PFX形式) の使い方をそれぞれ調べたのでここで紹介します。

本投稿で書かかないこと

  • Postman/Postman CLI のインストール方法や基本的な使い方
  • PEM形式のクライアント証明書の使い方

準備

事前に以下のものを確認、用意しておきます。

  • テストしたい Host (endpoint) の URL
  • Host に対応した PFX file (PFX形式のクライアント証明書) 本体
  • PFX file の Path
  • PFX file の Passphrase

Postman (執筆時 Ver. 10.6.7) の場合

設定画面からクライアント証明書を追加することができます。

手順

  1. Preference (SETTINGS) を開く
  2. Certificates タブを開く
  3. Add Certificate をクリックする
  4. Host , PFX file , Passphrase をそれぞれ入力、選択する
  5. Add をクリックすると一覧に追加されて完了

GUI版のポイント

  • 複数の Host に対応できる
    環境の異なる Host 毎にクライアント証明書を登録しておけば、リクエスト時の URL に応じて証明書を読み込んでくれる
  • 現在は編集ができない
    間違えて登録した場合は、削除(Remove)して改めて追加する必要がある

Postman CLI (執筆時 Ver. 1.0.8) の場合

JSON形式の設定ファイルを作り、実行時に --ssl-client-cert-list オプションで渡してあげます。

手順

  1. 次のようなフォーマットのJSONファイルを用意します

    clientCertList.json
    [
      {
        "name": "(任意の名前)",
        "matches": ["(host の URL)/*"],
        "pfx": {
          "src": "(PFX file の Path)"
        },
        "passphrase": "(PFX file の Passphrase)"
      },
      {
        "name": "hoge.example",
        "matches": ["https://hoge.example.com/*"],
        "pfx": {
          "src": "/Users/hoge/client-certificates/hoge_example.pfx"
        },
        "passphrase": "hogeexample"
      }
    ]
    
  2. 実行時に --ssl-client-cert-list で作成したJSONファイルを渡す

    postman collection run (file path or UID) --ssl-client-cert-list clientCertList.json
    

CLI版のポイント

  • 複数の Host に対応できる
    JSON に環境の異なる Host 毎にクライアント証明書を書いておけば、リクエスト時の URL に応じてマッチした証明書を読み込んでくれる

まとめ

  • Postman は GUI でも CLI でもクライアント証明書が使える
  • 適切に登録・設定することで、複数の HOST にも柔軟に対応できる
  • GUI は編集ができないのでやや不便
5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1