Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

証明書と JWT (JSON Web Token)

OAuth 2.0 のそれぞれのパーティが公開/秘密鍵ペアを持っている必要があります。これらの鍵ペアに対して、証明書およびその秘密鍵を使用できます。ただし、これは一般的な手法ではありません。このページでは、次の各シナリオの詳細について説明します。

いずれの場合でも、秘密鍵と対応する証明書の生成では、インターシステムズ公開鍵インフラストラクチャを使用できます。

Note:

InterSystems IRIS は JWKS (JSON Web Key Set) のペアを生成できます。一方の JWKS は秘密鍵で、(アルゴリズムあたり) 必要なすべての秘密鍵だけでなく、対称鍵として使用するクライアント秘密鍵も含んでいます。この JWKS は共有されません。他方の JWKS には、対応する公開鍵が含まれていて、公開されて利用できます。JWKS を生成するオプションを使用する場合は、このページは無視してください。

OAuth 2.0 クライアントの証明書の使用

OAuth 2.0 クライアントは承認サーバから (暗号化や署名を施した) JWT を受信できます。同様に、このクライアントは承認サーバへ (暗号化や署名を施した) JWT を送信することができます。これらの目的で証明書/秘密鍵のペアを使用する場合、以下の表を参考にして必要になる証明書を特定してください。

シナリオ クライアント構成の要件
以下のいずれかの場合 :
  • クライアントは、承認サーバが送信した JWT のシグニチャを検証する必要がある

  • クライアントは、承認サーバへ送信する JWT を暗号化する必要がある

承認サーバが所有する証明書と、サーバ証明書に署名する CA (認証機関) 証明書を取得します。この証明書の公開鍵は、シグニチャ検証と暗号化で使用されます。
以下のいずれかの場合 :
  • クライアントは、JWT に署名してから承認サーバへ送信する必要がある

  • クライアントは、承認サーバが送信した JWT を復号化する必要がある

クライアント用の秘密鍵を取得し、対応する証明書とその証明書に署名する CA 証明書を取得します。秘密鍵を署名と復号化に使用します。

いずれの場合も、そのクライアント Web アプリケーションを含む同じインスタンスで次の手順も実行する必要があります。

  • InterSystems IRIS が使用する信頼できる証明書を用意します。信頼された証明書には、クライアントの証明書に署名する証明書と承認サーバの証明書を組み込む必要があります (必要とする証明書に応じていずれかまたは両方)。

  • InterSystems IRIS で証明書を使用できるようにするための InterSystems IRIS 資格情報セットを作成します。

    クライアント証明書の場合は、資格情報セットを作成するときに秘密鍵を読み込み、秘密鍵のパスワードを入力します。

  • クライアントを構成する場合は、[X509 資格情報から JWT 設定を作成] オプションを選択します。また、以下の指定を行います。

    • [X.509 証明書] — クライアントの証明書を使用し対応秘密鍵 (ClientConfig など) を含む資格情報セットを選択します。

    • [秘密鍵パスワード] — この証明書の秘密鍵のパスワードを入力します。

OAuth 2.0 リソース・サーバの証明書の使用

OAuth 2.0 リソース・サーバは、承認サーバから (暗号化や署名を施した) JWT を受信できます。同様に、リソース・サーバは承認サーバへ (暗号化や署名を施した) JWT を送信することができます。 これらの目的で証明書/秘密鍵のペアを使用する場合、以下の表を参考にして必要になる証明書を特定してください。

シナリオ リソース・サーバ構成の要件
リソース・サーバは、承認サーバが送信した JWT のシグニチャを検証する必要がある 承認サーバが所有する証明書と、サーバ証明書に署名する CA 証明書を取得します。この証明書の公開鍵は、シグニチャ検証と暗号化で使用されます。
リソース・サーバは、承認サーバへ送信する JWT を暗号化する必要がある
リソース・サーバは、JWT に署名してから承認サーバへ送信する必要がある リソース・サーバ用の秘密鍵を取得し、対応する証明書とその証明書に署名する CA 証明書を取得します。秘密鍵は署名と復号化に使用します。
リソース・サーバは、承認サーバが送信した JWT を復号化する必要がある

いずれの場合も、そのリソース・サーバ Web アプリケーションを含む同じインスタンスで次の手順も実行する必要があります。

  • InterSystems IRIS が使用する信頼できる証明書を用意します。信頼された証明書には、リソース・サーバの証明書に署名する証明書と承認サーバの証明書を組み込む必要があります (必要とする証明書に応じていずれかまたは両方)。

  • InterSystems IRIS で証明書を使用できるようにするための InterSystems IRIS 資格情報セットを作成します。

    リソース・サーバの証明書では、資格情報セットを作成するときに秘密鍵を読み込み、秘密鍵のパスワードを入力します。

  • リソース・サーバを構成する場合は、[X509 資格情報から JWT 設定を作成] オプションを選択します。また、以下の指定を行います。

    • [X.509 証明書] — リソース・サーバの証明書を使用し対応秘密鍵 (ResourceConfig など) を含む資格情報セットを選択します。

    • [秘密鍵パスワード] — この証明書の秘密鍵のパスワードを入力します。

OAuth 2.0 承認サーバの証明書の使用

OAuth 2.0 承認サーバは、そのクライアントから (暗号化や署名を施した) JWT を受信できます。同様に、承認サーバはそのクライアントへ (暗号化や署名を施した) JWT を送信することができます。これらの目的で証明書/秘密鍵のペアを使用する場合、以下の表を参考にして必要になる証明書を特定してください。

シナリオ 承認サーバ構成の要件
承認サーバは、クライアントが送信した JWT のシグニチャを検証する必要がある そのクライアントが所有する証明書と、証明書に署名する CA 証明書を取得します。この証明書の公開鍵は、シグニチャ検証と暗号化で使用されます。
承認サーバは、クライアントへ送信する JWT を暗号化する必要がある
承認サーバは、JWT に署名してからクライアントへ送信する必要がある 承認サーバ用の秘密鍵を取得し、対応する証明書とその証明書に署名する CA 証明書を取得します。秘密鍵は署名と復号化に使用します。
承認サーバは、クライアントが送信した JWT を復号化する必要がある

いずれの場合も、その承認サーバを含む同じインスタンスで次の手順も実行する必要があります。

  • InterSystems IRIS が使用する信頼できる証明書を用意します。信頼された証明書には、クライアントの証明書に署名する証明書と承認サーバの証明書を組み込む必要があります (必要とする証明書に応じていずれかまたは両方)。

  • InterSystems IRIS で証明書を使用できるようにするための InterSystems IRIS 資格情報セットを作成します。

    承認サーバの証明書では、資格情報セットを作成するときに秘密鍵を読み込み、秘密鍵のパスワードを入力します。

  • サーバを構成する場合、[JWT 設定] タブを選択します。このタブで、[X509 資格情報から JWT 設定を作成] オプションを選択します。また、以下の指定を行います。

    • [X509 証明書] — 承認サーバの証明書を使用し対応秘密鍵 (AuthConfig など) を含む資格情報セットを選択します。

    • [秘密鍵パスワード] — この証明書の秘密鍵のパスワードを入力します。

  • サーバ上でクライアント定義を作成する場合、[JWT 設定] タブを選択します。このタブで、[ダイナミック登録以外のソース] では、[X509 証明書] を選択します。また、[クライアント資格情報] では、クライアント証明書を使用する認証情報セット (ClientConfig など)を選択します。

FeedbackOpens in a new tab