---
schema_version: "1"
id: d394aab6a2ecebaadcb63db92c481243d55e9cebde2dbbee8da11cb247114762
title: 証明書を使用した SAP セキュアネットワークコミュニケーション接続の設定
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/sap-connector/latest/sap-connector-config-snc.md
canonical_url: https://docs.mulesoft.com/jp/sap-connector/latest/sap-connector-config-snc
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 72563eefe294d43738a26f8690178b5afd5b40bb098af6c08b79fb59f848957b
description: MuleSoft Documentation Site
release: "5.9"
latest: true
---
# 証明書を使用した 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`​ (テーブルメンテナンス)

## [](#configure-the-client-environment)クライアント環境の設定

使用しているオペレーティングシステムに依存するシステム変数を設定し、パーソナルセキュリティ環境 (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](/mulesoft/current/ja-jp/sap-connector/latest/_images/sap-connector-windows-variable.png)
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`

## [](#configure-the-client-environment-when-deploying-in-cloudhub-2)CloudHub 2.0 または Runtime Fabric でデプロイする際のクライアント環境を設定する

SAP Connector 5.9.5 以降では、証明書接続種別を使用するアプリケーションを CloudHub 2.0 または Runtime Fabric にデプロイできます。SAP Connector には、パーソナルセキュリティ環境 (PSE) を設定するインストーラーが組み込まれています。

まずアプリケーションを作成する必要があります。

1. Anypoint Studio を開きます。
2. アプリケーションの ​`src/main/resources`​ ディレクトリに移動します。
3. `src/main/resources`​ フォルダーに ​`sec`​ という名前のファイルを作成します。
    
    ![SAP リソースの sec フォルダー構造](/mulesoft/current/ja-jp/sap-connector/latest/_images/sap-resources-sec.png)
4. `sec`​ フォルダーに次の行を追加します。
    
    - `libsapcrypto.so`
        
        Linux バージョンの SAP CommonCryptoLib
    - `sapgenpse`
        
        Linux バージョンの PSE ファイルを管理する SAP コマンドラインツール
    - `RFC.pse`
        
        [前のステップ](#configure-the-client-environment)​で作成したファイル
5. CloudHub 2.0 は Linux マシン上で動作するため、​`com.sap.conn.jco:libsapjco3`​ など、アプリケーションの連動関係が Linux に合わせてコンパイルされていることを確認してください。
6. アプリケーションを保存し、CloudHub 2.0 のデプロイメントに使用する ​`jar`​ ファイルをエクスポートします。

その後、作成したアプリケーションを CloudHub 2.0 または Runtime Fabric でインポートする必要があります。

1. Anypoint Platform アカウントにログインし、\[Runtime Manager\] に移動します。
2. **\[Deploy Application (アプリケーションをデプロイ)\]**​ をクリックします。
3. **\[Application Name (アプリケーション名)\]**​ に、アプリケーションの名前 (​`「cert-ch2」`​など) を入力します。
4. **\[Deployment Target (デプロイメント対象)\]**​ で、​`[CloudHub 2.0]`​ または ​`[Runtime Fabric]`​ を選択します。
5. **\[Choose File (ファイルを選択)\]**​ をクリックし、​`jar`​ ファイルをアップロードします。
6. **\[Properties (プロパティ)\]**​ タブで、以下を追加します。
    
    <table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 33.3333%;">
<col style="width: 33.3333%;">
<col style="width: 33.3334%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">プロパティ</th>
<th class="tableblock halign-left valign-top">値の例</th>
<th class="tableblock halign-left valign-top">説明</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>secFilesCopy</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code>​ の場合、組み込みインストーラーを起動します。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>sourceSecFolder</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>/opt/mule/apps/my-app-name/sec/</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">CloudHub 2.0 または Runtime Fabric の ​<code>resources/sec</code>​ フォルダーの場所。my-app-name には実際のアプリケーション名を指定してください。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>targetSecFolder</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>/tmp/sec/</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">この値はハードコードされたままにしておきます。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>pseFile</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>RFC</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">PSE ファイルの名前 (拡張子なし)。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>psePassword</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Your PSE file password (PSE ファイルのパスワード)</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">PSE ファイルのパスワード。このプロパティの横にある ​<strong>[Protect (保護)]</strong>​ ボタンをクリックすると、コンテンツが非表示になります。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>osUsername</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>app</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cred_v2</code>​ ファイルの作成に使用されるデフォルトの CloudHub 2.0 ユーザー名。このプロパティは省略可能で、その場合はコネクタが自動的に値を計算します。</p></td>
</tr>
</tbody>
</table>
7. **\[Start (開始)\]**​ をクリックしてアプリケーションを実行します。

<table><tbody><tr><td class="icon"><i class="fa icon-note" title="Note"></i></td><td class="content">組み込みインストーラーを使用する場合は、SAP Connector Config プロパティで CommonCryptoLib ライブラリを適切なパスで参照する必要があります。</td></tr></tbody></table>

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 33.3333%;">
<col style="width: 33.3333%;">
<col style="width: 33.3334%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">プロパティ</th>
<th class="tableblock halign-left valign-top">値の例</th>
<th class="tableblock halign-left valign-top">説明</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>jco.client.snc_lib</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">${app.home}/sec/libsapcrypto.so</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">SAP CommonCryptoLib の場所。このプロパティで設定したライブラリは、コネクタ操作で使用されます。オペレーティングシステムによっては、他のライブラリを使う必要がある場合がります。たとえば、CloudHub 2.0 のオペレーティングシステムは Linux ベースです。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>jco.server.snc_lib</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">${app.home}/sec/libsapcrypto.so</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">SAP CommonCryptoLib の場所。このプロパティで設定したライブラリは、コネクタソースで使用されます。オペレーティングシステムによっては、他のライブラリを使う必要がある場合がります。たとえば、CloudHub 2.0 のオペレーティングシステムは Linux ベースです。</p></td>
</tr>
</tbody>
</table>

## [](#sap-サーバーの設定)SAP サーバーの設定

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

1. SAP 識別名と証明書を表示します。
2. SAP 証明書を自分の証明書にリンクします。
3. SAP で SNC クライアントを認証します。

### [](#sap-識別名と証明書の表示)SAP 識別名と証明書の表示

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

1. SAP GUI にログインして、​`strust`​ トランザクションを入力します。
2. 左側のペインで ​**\[SNC SAPCryptolib\]**​ フォルダーを選択します。
    
    SAP 識別名と証明書リストが表示されます。

### [](#自分の証明書への-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 にリンクするターミナルウィンドウ](/mulesoft/current/ja-jp/sap-connector/latest/_images/sap-connector-import-certificate.png)

### [](#sap-での-snc-クライアントの認証)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-の設定)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-サーバー側の拡張プロパティの例)SAP サーバー側の拡張プロパティの例

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

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 50%;">
<col style="width: 50%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">プロパティ</th>
<th class="tableblock halign-left valign-top">値の例</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>jco.server.snc_mode</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>1</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>jco.server.snc_partnername</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>p:CN=SL-ABAP-IDP</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>jco.server.snc_qop</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>8</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>jco.server.snc_myname</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>p:CN=MVIDP, C=AR, O=MuleSoft, OU=IT</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>jco.server.snc_lib</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>C:/SNC/64bit/sapcrypto.dll</code></p></td>
</tr>
</tbody>
</table>

### [](#sap-クライアント側の拡張プロパティの例)SAP クライアント側の拡張プロパティの例

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

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 50%;">
<col style="width: 50%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">プロパティ</th>
<th class="tableblock halign-left valign-top">値の例</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>jco.client.snc_mode</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>1</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>jco.client.snc_partnername</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>p:CN=SL-ABAP-IDP</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>jco.client.snc_qop</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>8</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>jco.client.snc_myname</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>p:CN=MVIDP, C=AR, O=MuleSoft, OU=IT</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>jco.client.snc_lib</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>C:/SNC/64bit/sapcrypto.dll</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>jco.client.x509cert</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>ABCD12EFG</code></p></td>
</tr>
</tbody>
</table>

## [](#関連情報)関連情報

- [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors)
- [MuleSoft ヘルプセンター](https://help.mulesoft.com)