ページの先頭行へ戻る
Interstage Application Server ebXML Message Serviceユーザーズガイド

C.11.2 署名機能を利用するCPAの作成

  前節で完成したCPAをベースに、署名関連の記述を書き加えます。以下に、署名機能を有効にするための要素および属性を示します。

BusinessTransactionCharacteristics要素 isNonRepudiationRequired属性

DocExchange要素 Sender(Receiver)NonRepudiation要素

  BusinessTransactionCharacteristics要素 isNonRepudiationRequired属性でtrueを指定した場合、そのActionに関連付けられたDocExchange要素には必ずSender(Receiver)NonRepudiation要素の記述が必要になります。CanSendのActionに対してはSenderNonRepudiation要素が、CanReceiveのActionに対してはReceiverNonRepudiation要素が必要になります。

  以下に、Sender(Receiver)NonRepudiation要素に含まれる各要素を説明します。

NonRepudiationProtocol要素

  XML署名のプロトコルを指定します。本バージョンのebMSで指定できるのは以下の1種類のみです。

HsahFunction要素

  ハッシュ値計算のアルゴリズムを指定します。本バージョンのebMSで指定できるのは以下の1種類のみです。

SignatureAlgorithm要素

  署名のアルゴリズムを指定します。本バージョンのebMSで指定できるのは以下の1種類のみです。

SigningCertificateRef要素 certId属性 (SenderNonRepudiation要素のみ)

  SigningCertificateRef要素はcertId属性のみを持つ要素です。certIdには署名に利用する証明書の情報を含むCertificate要素のcertIdを記述します。ここでは、まだCertificate要素を1つも記述していないため、Party-IDに“-certificate001”を追加したIDを記述しておきます。Certificate要素については“C.11.3 テキスト化した証明書情報のCPAへの組み込み”で説明します。

<?xml version="1.0" encoding="UTF-8"?>
<tp:CollaborationProtocolAgreement 
      xmlns:tp="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd" 
      xmlns:ds="http://www.w3.org/2000/09/xmldsig#" 
      xmlns:xlink="http://www.w3.org/1999/xlink" 
      tp:cpaid="FUJITSU_LIMITED-ebXML_Trader-20030115">
    <tp:Status tp:value="agreed"/>
    <tp:Start>2003-01-01T00:00:00Z</tp:Start>
    <tp:End>2005-12-31T23:59:59Z</tp:End>
    <tp:PartyInfo 
          tp:defaultMshChannelId="FUJITSU_LIMITED-deliveryChannel001" 
          tp:defaultMshPackageId="FUJITSU_LIMITED-package001">
        <tp:PartyId tp:type=”Name”>FUJITSU_LIMITED</tp:PartyId>
        <tp:CollaborationRole>
            <tp:Role tp:name="urn:sample-service:Buyer"/>
            <tp:ServiceBinding>
                <tp:Service tp:type="anyURI">urn:sample-service:order-1</tp:Service>
                <tp:CanSend>
                    <tp:ThisPartyActionBinding 
                          tp:id=”Buyer-Order” 
                          tp:action="Order" 
                          tp:packageId="FUJITSU_LIMITED-package001">
                        <tp:BusinessTransactionCharacteristics 
                              tp:isNonRepudiationRequired="true"/>
                        <tp:ChannelId>FUJITSU_LIMITED-deliveryChannel001</tp:ChannelId>
                    </tp:ThisPartyActionBinding>
                    <tp:OtherPartyActionBinding>Seller-Order</tp:OtherPartyActionBinding>
                </tp:CanSend>
                <tp:CanReceive>
                    <tp:ThisPartyActionBinding 
                          tp:id=”Buyer-Order-Res” 
                          tp:action="Order_Response" 
                          tp:packageId="ebXML_Trader-package001">
                        <tp:BusinessTransactionCharacteristics 
                              tp:isNonRepudiationRequired="true"/>
                        <tp:ChannelId>FUJITSU_LIMITED-deliveryChannel001</tp:ChannelId>
                    </tp:ThisPartyActionBinding>
                    <tp:OtherPartyActionBinding>Seller-Order-Res</tp:OtherPartyActionBinding>
                </tp:CanReceive>
            </tp:ServiceBinding>
        </tp:CollaborationRole>
        <tp:DeliveryChannel 
             tp:channelId="FUJITSU_LIMITED-deliveryChannel001" 
             tp:transportId="FUJITSU_LIMITED-transport001" 
             tp:docExchangeId="FUJITSU_LIMITED-docExchange001">
           <tp:MessagingCharacteristics 
                 tp:syncReplyMode="none" 
                 tp:ackRequested="always" 
                 tp:ackSignatureRequested="never" 
                 tp:duplicateElimination="always" 
                 tp:actor="urn:oasis:names:tc:ebxml-msg:actor:toPartyMSH"/>
       </tp:DeliveryChannel>
       <tp:Transport tp:transportId="FUJITSU_LIMITED-transport001">
            <tp:TransportSender>
                <tp:TransportProtocol>HTTP</tp:TransportProtocol>
            </tp:TransportSender>
            <tp:TransportReceiver>
                <tp:TransportProtocol>HTTP</tp:TransportProtocol>
                <tp:Endpoint 
                      tp:uri="http://www.div001.fujitsu.com/ebms/servlet/ebxmlListener" 
                      tp:type="allPurpose"/>
            </tp:TransportReceiver>
        </tp:Transport>
        <tp:DocExchange tp:docExchangeId="FUJITSU_LIMITED-docExchange001">
            <tp:ebXMLSenderBinding tp:version="2.0">
                <tp:ReliableMessaging>
                    <tp:Retries>20</tp:Retries>
                    <tp:RetryInterval>PT50S</tp:RetryInterval>
                    <tp:MessageOrderSemantics>Guaranteed</tp:MessageOrderSemantics>
                </tp:ReliableMessaging>
                <tp:PersistDuration>P3D</tp:PersistDuration>
                <tp:SenderNonRepudiation>
                    <tp:NonRepudiationProtocol>http://www.w3.org/2000/09/xmldsig#</tp:NonRepudiationProtocol>
                    <tp:HashFunction>http://www.w3.org/2000/09/xmldsig#sha1</tp:HashFunction>
                    <tp:SignatureAlgorithm>http://www.w3.org/2000/09/xmldsig#rsa-sha1</tp:SignatureAlgorithm>
                    <tp:SigningCertificateRef tp:certId=FUJITSU_LIMITED-certificate001/>
                </tp:SenderNonRepudiation>
            </tp:ebXMLSenderBinding>
            <tp:ebXMLReceiverBinding tp:version="2.0">
                <tp:ReliableMessaging>
                    <tp:Retries>10</tp:Retries>
                    <tp:RetryInterval>PT1M</tp:RetryInterval>
                    <tp:MessageOrderSemantics>Guaranteed</tp:MessageOrderSemantics>
                </tp:ReliableMessaging>
                <tp:PersistDuration>P3D</tp:PersistDuration>
                <tp:ReceiverNonRepudiation>
                    <tp:NonRepudiationProtocol>http://www.w3.org/2000/09/xmldsig#</tp:NonRepudiationProtocol>
                    <tp:HashFunction>http://www.w3.org/2000/09/xmldsig#sha1</tp:HashFunction>
                    <tp:SignatureAlgorithm>http://www.w3.org/2000/09/xmldsig#rsa-sha1</tp:SignatureAlgorithm>
                </tp:ReceiverNonRepudiation>
            </tp:ebXMLReceiverBinding>
        </tp:DocExchange>
    </tp:PartyInfo>
    <tp:PartyInfo 
          tp:defaultMshChannelId="ebXML_Trader-deliveryChannel001" 
          tp:defaultMshPackageId="ebXML_Trader-package001">
        <tp:PartyId tp:type=”Name”>ebXML_Trader</tp:PartyId>
        <tp:CollaborationRole>
            <tp:Role tp:name="urn:sample-service:Seller"/>
            <tp:ServiceBinding>
                <tp:Service tp:type="anyURI">urn:sample-service:order-1</tp:Service>
                <tp:CanSend>
                    <tp:ThisPartyActionBinding 
                          tp:id=”Seller-Order-Res” 
                          tp:action="Order_Response" 
                          tp:packageId="ebXML_Trader-package001">
                        <tp:BusinessTransactionCharacteristics 
                              tp:isNonRepudiationRequired="true"/>
                        <tp:ChannelId>ebXML_Trader-deliveryChannel001</tp:ChannelId>
                    </tp:ThisPartyActionBinding>
                    <tp:OtherPartyActionBinding>Buyer-Order-Res</tp:OtherPartyActionBinding>
                </tp:CanSend>
                <tp:CanReceive>
                    <tp:ThisPartyActionBinding 
                          tp:id=”Seller-Order” 
                          tp:action="Order" 
                          tp:packageId="FUJITSU_LIMITED-package001">
                        <tp:BusinessTransactionCharacteristics 
                              tp:isNonRepudiationRequired="true"/>
                        <tp:ChannelId>ebXML_Trader-deliveryChannel001</tp:ChannelId>
                    </tp:ThisPartyActionBinding>
                    <tp:OtherPartyActionBinding>Buyer-Order</tp:OtherPartyActionBinding>
                </tp:CanReceive>
            </tp:ServiceBinding>
        </tp:CollaborationRole>
        <tp:DeliveryChannel 
             tp:channelId="ebXML_Trader-deliveryChannel001" 
             tp:transportId="ebXML_Trader-transport001" 
             tp:docExchangeId="ebXML_Trader-docExchange001">
           <tp:MessagingCharacteristics 
                 tp:syncReplyMode="none" 
                 tp:ackRequested="always" 
                 tp:ackSignatureRequested="never" 
                 tp:duplicateElimination="always" 
                 tp:actor="urn:oasis:names:tc:ebxml-msg:actor:toPartyMSH"/>
       </tp:DeliveryChannel>
       <tp:Transport tp:transportId="ebXML_Trader-transport001">
            <tp:TransportSender>
                <tp:TransportProtocol>HTTP</tp:TransportProtocol>
            </tp:TransportSender>
            <tp:TransportReceiver>
                <tp:TransportProtocol>HTTP</tp:TransportProtocol>
                <tp:Endpoint 
                      tp:uri="http://www.ebXMLTrader.com/ebms/servlet/ebxmlListener" 
                      tp:type="allPurpose"/>
            </tp:TransportReceiver>
        </tp:Transport>
        <tp:DocExchange tp:docExchangeId="ebXML_Trader-docExchange001">
            <tp:ebXMLSenderBinding tp:version="2.0">
                <tp:ReliableMessaging>
                    <tp:Retries>10</tp:Retries>
                    <tp:RetryInterval>PT1M</tp:RetryInterval>
                    <tp:MessageOrderSemantics>Guaranteed</tp:MessageOrderSemantics>
                </tp:ReliableMessaging>
                <tp:PersistDuration>P3D</tp:PersistDuration>
                <tp:SenderNonRepudiation>
                    <tp:NonRepudiationProtocol>http://www.w3.org/2000/09/xmldsig#</tp:NonRepudiationProtocol>
                    <tp:HashFunction>http://www.w3.org/2000/09/xmldsig#sha1</tp:HashFunction>
                    <tp:SignatureAlgorithm>http://www.w3.org/2000/09/xmldsig#rsa-sha1</tp:SignatureAlgorithm>
                    <tp:SigningCertificateRef tp:certId=ebXML_Trader-certificate001/>
                </tp:SenderNonRepudiation>
            </tp:ebXMLSenderBinding>
            <tp:ebXMLReceiverBinding tp:version="2.0">
                <tp:ReliableMessaging>
                    <tp:Retries>20</tp:Retries>
                    <tp:RetryInterval>PT50S</tp:RetryInterval>
                    <tp:MessageOrderSemantics>Guaranteed</tp:MessageOrderSemantics>
                </tp:ReliableMessaging>
                <tp:PersistDuration>P3D</tp:PersistDuration>
                <tp:ReceiverNonRepudiation>
                    <tp:NonRepudiationProtocol>http://www.w3.org/2000/09/xmldsig#</tp:NonRepudiationProtocol>
                    <tp:HashFunction>http://www.w3.org/2000/09/xmldsig#sha1</tp:HashFunction>
                    <tp:SignatureAlgorithm>http://www.w3.org/2000/09/xmldsig#rsa-sha1</tp:SignatureAlgorithm>
                </tp:ReceiverNonRepudiation>
            </tp:ebXMLReceiverBinding>
        </tp:DocExchange>
    </tp:PartyInfo>
    <tp:Packaging tp:id="FUJITSU_LIMITED-package001"/>
    <tp:Packaging tp:id="ebXML_Trader-package001"/>
</tp:CollaborationProtocolAgreement>