CPAファイルに暗号化通信(XML電子署名)に必要な項目を定義し,定義したCPAファイルを基にメッセージ交換定義ファイルを生成します。メッセージ交換定義ファイルを生成してMSH実行環境に導入することで,企業間でのビジネスメッセージの交換に暗号化通信(XML電子署名)を適用できます。
送信側・受信側のuCosminexus Message Service for ebXMLのシステムで同一のCPAファイルおよびメッセージ交換定義ファイルを生成してください。
CPAファイルに,XML電子署名をするために定義する必要がある項目を,次に示します。
表3-19 CPAファイルへの定義項目(XML電子署名)
項番 | 要素 | 属性 | 項目 | 説明 |
---|---|---|---|---|
1 | PartyInfo | - | - | 送信パーティに関する定義です。 |
2 | ├Certificate | - | 証明書情報 | XML電子署名用証明書について定義します。 |
3 | │ │ | certId | 証明書識別子 | XML電子署名証明書をCPAファイル内で一意に特定する識別子を指定します。 |
4 | │ └ds:Certificate | - | XML電子署名用証明書 | XMLDSigで規定されている形式で表現された証明書を指定します。※2 |
5 | ├Certificate※1 | - | 証明書情報 | 受信パーティのXML電子署名用証明書に対する認証局証明書について定義します。 |
6 | │ │ | certId※1 | 証明書識別子 | 認証局証明書をCPAファイル内で一意に特定する識別子を指定します。 |
7 | │ └ds:Certificate※1 | - | 認証局証明書 | XMLDSigで規定されている形式で表現された証明書を指定します。※2 |
8 | ├SecurityDetails※1 | - | - | セキュリティの詳細情報です。送信パーティで適用するセキュリティ詳細情報を指定します。 |
9 | │ │ | securityId※1 | セキュリティ詳細情報識別子 | SecurityDetails要素をCPAファイル内で一意に特定する識別子を指定します。 |
10 | │ └TrustAnchors※1 | - | 信認認証局リスト | Security Details要素の記載内容を信任する認証局を指定します。 |
11 | │ └AnchorCertificateRef※1 | - | 認証局証明書参照 | 信認する認証局証明書への参照先を指定します。 |
12 | │ | certId※1 | 証明書識別子 | 認証局証明書の証明書識別子を指定します。 |
13 | ├DeliveryChannel | - | - | 配送チャンネルの定義です。 |
14 | │ └MessagingCharacteristics | - | - | メッセージ交換特性です。 |
15 | │ | ackSignatureRequested | 署名付受信確認要否 | Acknowledgmentメッセージに対して電子署名をするかどうかを指定します。電子署名をする場合は"always"を,しない場合は"never"を指定します。 |
16 | └DocExchange | - | 文書交換定義 | 文書交換に関する定義です。 |
17 | ├ebXMLSenderBinding | - | 送信時文書交換定義 | - |
18 | │└SenderNonRepudiation | - | 送信時電子署名定義 | - |
19 | │ ├NonRepudiationProtocol | - | 電子署名プロトコル | 電子署名を行う際の技術方式"http://www.w3.org/2000/09/ xmldsig#"を指定します。 |
20 | │ ├HashFunction | - | ハッシュ関数 | 電子署名生成時に使用するハッシュ関数"http://www.w3.org/2000/09/xmldsig#sha1"を指定します。 |
21 | │ ├SignatureAlgorithm | - | 署名アルゴリズム | 電子署名生成時に使用する署名アルゴリズム"http://www.w3.org/2000/09/xmldsig#rsa-sha1"を指定します。 |
22 | │ └SigningCertificateRef | - | 電子証明書参照 | 電子署名用証明書を指定します。 |
23 | │ | certId | 証明書識別子 | 電子署名用証明書を特定する証明書識別子を指定します。 |
24 | └ebXMLReceiverBinding | - | 受信時文書交換定義 | - |
25 | └ReceiverNonRepudiation※1 | - | 受信時電子署名定義 | - |
26 | ├NonRepudiationProtocol※1 | - | 電子署名プロトコル | 電子署名を行う際の技術方式"http://www.w3.org/2000/09/ xmldsig#"を指定します。 |
27 | ├HashFunction※1 | - | ハッシュ関数 | 電子署名生成時に使用するハッシュ関数 "http://www.w3.org/2000/09/xmldsig#sha1"を指定します。 |
28 | ├SignatureAlgorithm※1 | - | 署名アルゴリズム | 電子署名生成時に使用する署名アルゴリズム"http://www.w3.org/2000/09/xmldsig#rsa-sha1"を指定します。 |
29 | └SigningSecurityDetailsRef※1 | - | 署名検証セキュリティ詳細情報参照 | 電子署名検証時に使用する,セキュリティ詳細情報への参照先を指定します。 |
30 | - | securityId※1 | セキュリティ詳細情報識別子 | 電子署名検証時に使用する,セキュリティ詳細情報を特定するセキュリティ詳細情報識別子を指定します。 |
31 | PartyInfo | - | - | 受信パーティに関する定義です。 |
32 | ├Certificate※1 | - | 証明書情報 | XML電子署名用証明書を定義します。 |
33 | │ │ | certId※1 | 証明書識別子 | XML電子署名用証明書をCPAファイル内で一意に特定する識別子を指定します。 |
34 | │ └ds:Certificate※1 | - | XML電子署名用証明書 | XMLDSigで規定されている形式で表現された証明書を指定します。※2 |
35 | ├Certificate | - | 証明書情報 | 送信パーティの電子署名用証明書に対する認証局証明書を定義します。 |
36 | │ │ | certId | 証明書識別子 | 認証局証明書をCPAファイル内で一意に特定する識別子を指定します。 |
37 | │ └ds:Certificate | - | 認証局証明書 | XMLDSigで規定されている形式で表現された証明書を指定します。※2 |
38 | ├SecurityDetails | - | - | セキュリティの詳細情報です。受信パーティで適用するセキュリティ詳細情報を指定します。 |
39 | │ │ | securityId | セキュリティ詳細情報識別子 | SecurityDetails要素をCPAファイル内で一意に特定する識別子を指定します。 |
40 | │ └TrustAnchors | - | 信認認証局リスト | Security Details要素の記載内容を信任する認証局のリストです。 |
41 | │ └AnchorCertificateRef | - | 認証局証明書参照 | 認証局証明書の参照先を指定します。 |
42 | │ | certId | 証明書識別子 | 認証局証明書の証明書識別子を指定します。 |
43 | ├DeliveryChannel | - | 配送チャンネル定義 | - |
44 | │ └MessagingCharacteristics | - | メッセージ交換特性 | - |
45 | │ | ackSignatureRequested | 署名付受信確認要否 | Acknowledgmentメッセージに対して電子署名をするかどうかを指定します。電子署名を行う場合"always"を,行わない場合は"never"を指定します。 |
46 | └DocExchange | - | 文書交換定義 | 文書交換に関する定義です。 |
47 | ├ebXMLSenderBinding | - | 送信時文書交換定義 | - |
48 | │└SenderNonRepudiation※1 | - | 送信時電子署名定義 | - |
49 | │ ├NonRepudiationProtocol※1 | - | 電子署名プロトコル | 電子署名を行う際の技術方式"http://www.w3.org/2000/09/xmldsig#"を指定します。 |
50 | │ ├HashFunction※1 | - | ハッシュ関数 | 電子署名生成時に使用するハッシュ関数"http://www.w3.org/2000/09/xmldsig#sha1"を指定します。 |
51 | │ ├SignatureAlgorithm※1 | - | 署名アルゴリズム | 電子署名生成時に使用する署名アルゴリズム"http://www.w3.org/2000/09/xmldsig#rsa-sha1"を指定します。 |
52 | │ └SigningCertificateRef※1 | - | 電子証明書参照 | 電子署名用証明書を指定します。 |
53 | │ | certId※1 | 証明書識別子 | 電子署名用証明書を特定する証明書識別子を指定します。 |
54 | └ebXMLReceiverBinding | - | - | 受信時文書交換定義です。 |
55 | └ReceiverNonRepudiation | - | - | 受信時電子署名定義です。 |
56 | ├NonRepudiationProtocol | - | 電子署名プロトコル | 電子署名を行う際の技術方式 "http://www.w3.org/2000/09/xmldsig#"を指定します。 |
57 | ├HashFunction | - | ハッシュ関数 | 電子署名生成時に使用するハッシュ関数"http://www.w3.org/2000/09/xmldsig#sha1"を指定します。 |
58 | ├SignatureAlgorithm | - | 署名アルゴリズム | 電子署名生成時に使用する署名アルゴリズム"http://www.w3.org/2000/09/xmldsig#rsa-sha1"を指定します。 |
59 | └SigningSecurityDetailsRef | - | 署名検証セキュリティ詳細情報参照 | 電子署名検証時に使用する,セキュリティ詳細情報への参照先を指定します。 |
60 | - | securityId | セキュリティ詳細情報識別子 | 電子署名検証時に使用する,セキュリティ詳細情報を特定するセキュリティ詳細情報識別子を指定します。 |
注※1 次の場合にだけ設定が必要です。
注※2 証明書をXMLDsig形式に変換する必要があります。証明書がKeyStoreファイルで管理されている場合は証明書形式変換(KeyStore)コマンドを,証明書がX.509証明書の場合は証明書形式変換(X.509証明書)コマンドを使用して変換してください。証明書形式変換(KeyStore)コマンド,および証明書形式変換(X.509証明書)コマンドについては,「9.4 セキュリティ環境構築・運用コマンド」のMSHConvertCertおよびMSHConvertCertFileを参照してください。
使用する認証局が中間認証局を持つ場合,認証パスを構成するすべての認証局の証明書を,運用に応じて証明書形式変換(KeyStore)コマンドまたは証明書形式変換(X.509証明書)コマンドに指定し,XMLDsig形式に変換してCPAファイルに記載する必要があります。
CPAファイルおよびCPA拡張定義ファイルの記述がXML電子署名をする設定になっていることを確認してから,メッセージ交換定義ファイルを生成します。
メッセージ交換定義ファイルを生成するには,メッセージ交換定義導入コマンドを実行します。送信側のuCosminexus Message Service for ebXMLと受信側のuCosminexus Message Service for ebXMLの両方でコマンドを実行します。メッセージ交換定義導入コマンドの詳細については,「9.3 システム構築・運用コマンド」のMSHDeployMsgDefを参照してください。