3.11.5 CPAファイル・メッセージ交換定義ファイルの生成(XML電子署名)

CPAファイルに暗号化通信(XML電子署名)に必要な項目を定義し,定義したCPAファイルを基にメッセージ交換定義ファイルを生成します。メッセージ交換定義ファイルを生成してMSH実行環境に導入することで,企業間でのビジネスメッセージの交換に暗号化通信(XML電子署名)を適用できます。

送信側・受信側のuCosminexus Message Service for ebXMLのシステムで同一のCPAファイルおよびメッセージ交換定義ファイルを生成してください。

<この項の構成>
(1) CPAファイルへの定義項目
(2) メッセージ交換定義ファイルの生成

(1) 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ファイルに記載する必要があります。

XML電子署名用証明書およびルート認証局証明書を受け取った場合
証明書名称としてXML電子署名用証明書,ルート認証局の名称を指定します。
XML電子署名用証明書,中間認証局証明書,およびルート認証局証明書を受け取った場合
証明書名称としてXML電子署名用証明書・中間認証局・ルート認証局の名称を指定します。

(2) メッセージ交換定義ファイルの生成

CPAファイルおよびCPA拡張定義ファイルの記述がXML電子署名をする設定になっていることを確認してから,メッセージ交換定義ファイルを生成します。

メッセージ交換定義ファイルを生成するには,メッセージ交換定義導入コマンドを実行します。送信側のuCosminexus Message Service for ebXMLと受信側のuCosminexus Message Service for ebXMLの両方でコマンドを実行します。メッセージ交換定義導入コマンドの詳細については,「9.3 システム構築・運用コマンド」のMSHDeployMsgDefを参照してください。