証明書を使用した SAP セキュアネットワークコミュニケーション接続の設定

証明書を使用した SAP セキュアネットワークコミュニケーション (SNC) を設定し、SAP システムのクライアントとサーバー間のセキュアなデータ通信、アプリケーションレベルのエンドツーエンドセキュリティ、SAP ビジネスアプリケーションに影響を与えずにセキュリティ商品を変更する機能など、セキュリティ機能を利用します。証明書を使用した SNC を有効にするには、クライアント環境、SAP サーバー、SAP 用 Anypoint Connector (SAP Connector) を設定する必要があります。

始める前に

証明書を使用した SAP SNC を設定するには、以下にアクセスできる必要があります。

  • SAP GUI アプリケーション。このクライアントをインストールするには、すでに Java がマシンにインストールされている必要があります。次に、SAP から OS に合ったインストーラーをダウンロードします。

  • SAPCAR ユーティリティおよび SAP 暗号ライブラリ。S ユーザーであれば、これらを SAP サポートポータルからダウンロードできます。

  • SNC システム変数を使用できる SAP ECC インスタンス

  • 次のトランザクション

    • STRUST​ (トラストマネージャー)

    • SM30​ (テーブルメンテナンス)

クライアント環境の設定

使用しているオペレーティングシステムに依存するシステム変数を設定し、パーソナルセキュリティ環境 (PSE) を生成します。

  1. Windows コマンドラインまたは Mac ターミナルアプリケーションを開きます。

  2. SAPCAR​ ユーティリティを使用して、SAP 暗号ライブラリを、指定したフォルダーに展開します。

    SAPCAR -xvf <folder-name.SAR>

  3. 次の環境変数を設定します。

    • SNC_LIB​: <path_to_library>\sapcrypto.dll

    • SECUDIR: <path_to_library>

    • LD_LIBRARY_PATH​: <path_to_library>\sapcrypto.dll

    • SSF_LIBRARY_PATH​: <path_to_library>\sapcrypto.dll

      Windows の場合、​sapcrypto.dll​ の 64 ビットバージョンは異なるパスにあり、​SNC_LIB_64​ という新しい変数に追加されています。

      Windows 変数 SNC_LIB_64
  4. sapgenpse​ ツールを使用して、PSE を作成します。

    sapgenpse gen_pse -v -p RFC.pse

    このコマンドを実行する場合、後で使用する PIN と、一意である必要がある識別名を入力する必要があります。たとえば、次のような識別名を入力できます。

    CN=RFC, C=AR, O=YourCompany, OU=IT

    すでに使用されている名前を表示するには、STRUST を使用できます。

  5. sapgenpse​ ツールを使用して、PSE にアクセスするためのログイン情報を保存する ​cred_v2​ ファイルを作成します。

    sapgenpse seclogin -p RFC -O <user-credentials>

  6. sapgenpse​ ツールを使用して、PSE からクライアントの証明書をエクスポートします。

    sapgenpse <export_own_cert> -v -p RFC -o RFC_MULE.crt

SAP サーバーの設定

識別名での SNC の使用を認証する証明書とテーブルを設定します。SAP サーバーを設定する手順は、次のとおりです。

  1. SAP 識別名と証明書を表示します。

  2. SAP 証明書を自分の証明書にリンクします。

  3. SAP で SNC クライアントを認証します。

SAP 識別名と証明書の表示

SAP 識別名と証明書のリストを表示します。

  1. SAP GUI にログインして、​strust​ トランザクションを入力します。

  2. 左側のペインで ​[SNC SAPCryptolib]​ フォルダーを選択します。

    SAP 識別名と証明書リストが表示されます。

自分の証明書への SAP 証明書のリンク

SAP インスタンス証明書をダウンロードして自分の証明書にリンクします。

  1. 眼鏡アイコン (画面の左側にある最初のアイコン) をクリックしてエディションモードを有効にした後、​CN=SL-ABAP-IDP​ をダブルクリックします。

  2. 画面の一番下にあるダウンロードボタンをクリックして、ダウンロードの対象パスを入力します。

  3. インポートアイコンをクリックして、自分の証明書をアップロードするための対象パスを入力します。

  4. [Add to Certificate List (証明書一覧に追加)]​ をクリックして、保存アイコンをクリックします。

  5. コマンドラインインターフェースまたはターミナルウィンドウを開き、​sapgenpse​ ツールを使用して自分の証明書を PSE にリンクします。

    sapgenpse maintain_pk -v -a <name_of_SAP_Server_Certificate.crt> -p <name_of_your_PSE.pse>

    次の例では、​IDE.crt​ という証明書を ​RFC.pse​ という PSE にリンクしています。

    「IDE.crt」を「RFC.pse」にリンクする

SAP での SNC クライアントの認証

VSNCSYSACL​ ビューに新しいエントリを追加し、識別名で SNC を使用できるようにします。

  1. SAP GUI で ​SM30​ トランザクションに移動し、​VSNCSYSACL​ をビュー名として入力します。

  2. [Maintain (保守)]​ をクリックします。

  3. 作業領域として ​[E]​ を選択します。

  4. [System ID (システム ID)]​ 項目に SAP ID を入力します。

  5. [SNC name (SNC 名)]​ 項目に識別名を入力します:

    p:<your-distinguished-name>

  6. すべてのチェックボックスを選択してエントリをアクティブ化します。

  7. 保存アイコンをクリックします。

    • サーバーが SNC 名を受け入れると、​Canonical Name Determined​ メッセージが SNC データボックスに表示されます。

    • サーバーが SNC 名を受け入れない場合は、PSE ファイルで使用されている名前が、Mule アプリケーションで使用されている名前および STRUST でリストされている名前と同じであることを確認します。

  8. Mule アプリケーションで SAP ユーザーを有効にして、アプリケーションで SNC 接続種別を使用できるようにします。

    1. SM30​ トランザクションに移動して、​VUSREXTID​ ビューを指定し、​[Maintain (保守)]​ をクリックします。

    2. [External ID type (外部 ID 種別)]​ 項目で、作業領域として ​DN​ を選択します。

    3. [External ID (外部 ID)]​ 項目に識別名を入力します。

    4. [User (ユーザー)]​ 項目に SAP ユーザー名を入力します。

    5. [Activated (アクティブ)]​ を選択します。

    6. 保存アイコンをクリックします。

SAP Connector の設定

証明書を使用した SNC を有効にするよう SAP Connector を設定する手順は、次のとおりです。

  1. Anypoint Studio にアクセスします。

  2. Studio キャンバスで ​[SAP]​ を選択します。

  3. [Connector configuration (コネクタ設定)]​ 項目の横にあるプラス記号 (+) をクリックし、グローバル要素設定項目にアクセスします。

  4. X.509 証明書接続を設定します。

    1. [Connection (接続)]​ 項目で ​Certificate​ を選択します。

    2. [General (一般)]​ タブで、次の項目を設定します。

      • X.509 Certificate (X.509 証明書)​ (Base64 でのエンコードなし)

      • Sap client ID (SAP クライアント ID)

      • Application server host (アプリケーションサーバーホスト)

    3. [Advanced (詳細)]​ タブで、拡張プロパティを設定します。

SAP サーバー側の拡張プロパティの例

次の表にサーバー側の拡張プロパティの値の例を示します。

プロパティ 値の例。

jco.server.snc_mode

1

jco.server.snc_partnername

p:CN=SL-ABAP-IDP

jco.server.snc_qop

8

jco.server.snc_myname

p:CN=MVIDP, C=AR, O=MuleSoft, OU=IT

jco.server.snc_lib

C:/SNC/64bit/sapcrypto.dll

SAP クライアント側の拡張プロパティの例

次の表にクライアント側の拡張プロパティの値の例を示します。

プロパティ 値の例。

jco.client.snc_mode

1

jco.client.snc_partnername

p:CN=SL-ABAP-IDP

jco.client.snc_qop

8

jco.client.snc_myname

p:CN=MVIDP, C=AR, O=MuleSoft, OU=IT

jco.client.snc_lib

C:/SNC/64bit/sapcrypto.dll

jco.client.x509cert

ABCD12EFG