Skip to main content

REST API を使用してカスタムエクステンション付き証明書を申請する

Trust Lifecycle Manager REST API を使用してカスタムエクステンション付きプライベート証明書の発行と値の指定が可能です。

前提条件

API 申請の本文

REST request」から値を取得するカスタムエクステンションフィールドの値を指定するには、次の手順を実行します。

  • API 申請の本文では、単一の「attributes.custom_values」JSON オブジェクトを使用して、本文すべての動的なカスタムエクステンションフィールドの値を指定します。

  • 証明書プロファイル内のカスタムエクステンションテンプレートで設定されたとおりのプレースホルダー名で各フィールドを対象にします。

  • attributes.custom_values」JSON オブジェクトには、カスタムエクステンションテンプレートの構造に関わらず、フラット構造を使用します。発行された証明書では、カスタムエクステンションの値はテンプレートの構造と同じ構造になります。

From CSR」の値を取得するカスタムエクステンションフィールドの値を指定するには、次の手順を実行します。

  • csr 申請の本文フィールドにエンコードされた CSR を含めます。

  • CSR には、カスタムエクステンションフィールドの設定に一致する OID 番号のフィールドが含まれていることを確認します。

登録例

登録方法として REST API を使用し、次のカスタムエクステンションテンプレートを含む証明書プロファイルを想定します。

[
    {
        "oid": "1.2.8.8",
        "critical": true,
        "template": {
          "type": "INTEGER",
          "value": "${user_id}"
        }
    },
    {
        "oid": "1.2.8.9",
        "critical": false,
        "template": {
          "type": "PrintableString",
          "value": "${user_work_location}"
        }
    }
]

以下の点に注意してください。

  • このテンプレートは 2 つのカスタムエクステンションで構成されています。プレースホルダー名が「user_id」の「INTEGER」とプレースホルダー名が「user_work_location」の「PrintableString」です。

  • 証明書プロファイルでは、これらの動的なエクステンションフィールドの両方が、値のソースとして 「REST request」を使用するように設定されています。

Trust Lifecycle Manager REST API を使用してこのプロファイルから新しい証明書を申請し、カスタムエクステンションフィールドに値を指定するには、申請の本文は次のようになるはずです。

{
    "profile": {
        "id": "<profile-id>"
    },
    "seat": {
        "seat_id": "<seat-id>"
    },
    "csr": "<encoded-csr>"
    "attributes": {
        "subject": {
            "common_name": "<common-name>"
        }
        "custom_values": {
            "user_id": "<integer-value>",
            "user_work_location": "<string-value>"
        }
    }
}