1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【SAP Destinations】SAP Destinations を用いてmTLS認証を行う方法

Last updated at Posted at 2025-05-12

概要

業務内で、SAP Destinations を用いたmTLS認証が可能かの検証をする機会があったので、その方法を本記事にまとめました。

注意
2025/05/12時点で、ManagedApprouterで自己証明書を使ってのmTLS認証はできないことが分かっています。詳しくは「留意事項」をご確認ください。

mTLSとは

サーバとクライアントが相互に認証するしくみのことです。
サーバ側はクライアント側のルート証明書(CA証明書)をあらかじめ持ち、クライアント側から送られてきたクライアント証明書が信頼できるものかどうかを検証します。
クライアント側も同様にサーバ側のルート証明書(CA証明書)をあらかじめ持ち、サーバ側から送られてきたサーバ証明書が信頼できるものかどうかを検証します。
両方検証に成功すれば、接続可能になります。
mTLS説明図.png

今回はSAP Approuterをクライアント側として、
①SAP BTPでクライアント証明書の発行
②SAP Destinationsへサーバ証明書の登録
を行いました(サーバ側の設定手順は割愛させていただきます)。

SAP BTPでクライアント証明書の発行

まず、Destination Certificates でp12形式のクライアント証明書を作成します。

Destination Certificates.png
Destination Certificates2.png

設定値は以下の通りです。
Generation Method : External service
Name : 任意の証明書の名前
File Extension : P12
Common Name : 任意
Validity : 任意
Passwoed : 任意のパスワード
Automatic Renewal : 任意

image.png

次にDestinations で新しい接続先を作成します。
設定値は以下の通りです。
Name : 任意のDestination名
Type : HTTP
Description : 任意の説明文
URL : 接続先のURL
Proxy Type : Internet
Authentication : ClientCertificateAuthentication
Key Store Location : 先程作成したp12ファイル
Key Store Password : 作成したp12ファイルのパスワード

image.png

作成したDestinationをエクスポートし、pemファイルを取得します。
image.png
image.png

中身を確認し、証明書が3種類入っていることを確認してください。内容は「クライアント証明書」「ルート証明書」「中間証明書」です(pemの中には秘密鍵は含まれていません)。

これで、クライアント証明書の発行が完了しました。本来ならば、この後サーバ側にクライアント側のルート証明書を配置する作業などがありますが、今回は割愛させていただきます…

SAP Destinationsへサーバ証明書の登録

次に、サーバ側のルート証明書をSAP Destinationsに登録します。
もし、GoogleやAWSのような、有名どころのパブリック証明書を使う場合は、既に「default JDK truststore」にあらかじめ登録されている可能性があります。その場合は特別こちらからサーバ側のルート証明書を指定する必要はありません。
先程作成したDestinationの「default JDK truststore」にチェックを入れて保存してください。
image.png

自己証明書を使う場合は、こちらからサーバ側のルート証明書を指定する必要があります。
「default JDK truststore」のチェックを外し、「Upload and Delete Certificates」からサーバ側のルート証明書をアップロードしてください。
image.png
image.png

これでSAP Destinationsへのサーバ証明書の登録が完了しました。

留意事項

冒頭にも書いた通り、2025/05/12時点で、ManagedApprouter(※1)で自己証明書を使ってのmTLS認証はできないことが分かっています。default JDK truststore を使う場合は、問題なく認証が可能です。
インシデントとして公式に問い合わせたところ、現在改修中でリリース予定は未定のようです。

StandaloneApprouter(※2)の場合、最新の@sap/approuterを使うことで、default JDK truststore、自己証明書両方でmTLS認証が可能です(2025/05/12時点の最新バージョン:20.3.1)。

注釈
※1 ManagedApprouter......SAPが提供・運用しているApprouterのこと。自分で用意する必要が無く、BTP が管理する環境で自動的に起動・運用される。
(詳細:https://help.sap.com/docs/btp/sap-business-technology-platform/managed-application-router?locale=ja-JP

※2 StandaloneApprouter......自分で用意し、SAP Cloud FoundryやSAP BTPにデプロイするApprouterのこと。

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?