OPC: contents of SignatureProperty

Jim Thatcher Jim.Thatcher at microsoft.com
Wed Feb 26 21:39:01 CET 2014


Murata-san,

After a careful review of digital signature parts created by Microsoft Office 2007, 2010, and 2013 I think the issue you raise below is a misunderstanding rather than a conflict. I acknowledge that such a misunderstanding is very likely to occur based on the current text of Digital Signatures section 13 of ISO/IEC 29500-2, and we will want to improve that text as part of our revision efforts.

I think the confusion comes from a lack of clarity about Object elements in the Signature element. Section 13.2.4.1 uses confusing language regarding package-specific Object element(s). Paragraph 2 requires that a "producer shall create one and only one package specific Object element in the Signature element." Then paragraph 3 states that the "producer shall create package-specific Object elements ... (emphasis added)". Note the use of the plural "elements". I had to read through this a few times before realizing that the use of the plural in paragraph 3 does not give permission to include more than one package-specific Object element in any given Signature, but is only there to provide an anchor for the limitations that follow, that the package-specific Object element in a Signature must contain exactly one Manifest element, and exactly one SignatureProperties element.

In order to fully understand the content in the signatures written by Microsoft Office a reader needs to look beyond the description of package-specific Object elements in Section 13.2.4.1 to Section 13.2.4.2 which states that the "producer shall create a Signature element that contains exactly one local-data, package-specific Object element and zero or more application-defined Object elements." The Object element written by MS Office with the ID of "idOfficeObject" is an application-defined Object element, so the restrictions and requirements related to package-specific Object elements in 13.2.4.1 do not apply to that Object element. If you look at the package-specific Object element (with the ID of "idPackageObject") you will find a SignatureProperties element that meets the requirements in 13.2.4.1 paragraph 3.d. As you noted in your first message, Section 2.5.2.5 of MS-OFFCRYPTO accurately describes the contents of the Microsoft Office application-defined Object element.

    <SignatureProperties>
      <SignatureProperty Id="idSignatureTime" Target="#idPackageSignature">
        <mdssi:SignatureTime>
          <mdssi:Format>YYYY-MM-DDThh:mm:ssTZD</mdssi:Format>
          <mdssi:Value>2014-02-26T19:11:27Z</mdssi:Value>
        </mdssi:SignatureTime>
      </SignatureProperty>
    </SignatureProperties>

I'll work on a proposal to make it more clear earlier in Section 13 that a digital signature part can have multiple Object elements, but exactly one of those must be the package-specific Object element.

Jim

From: eb2mmrt at gmail.com [mailto:eb2mmrt at gmail.com] On Behalf Of MURATA Makoto
Sent: Monday, February 24, 2014 10:00 PM
To: SC34
Subject: Re: OPC: contents of SignatureProperty

I still believe that there is a conflict here, but I
would like to make a comment about the
schema.

The SigantureProperty element in question appears within
an Object element.  The complex type for Object has
<any namespace="##any" processContents="lax"/>.

Does this wild card allow the SignatureProperty element
to have any attributes and contents?  No, processContents="lax"
implies that "*validate* if you can, don't worry if you can't"
(W3C XML Schema Part 1)

Regards,
Makoto

2014-02-25 11:56 GMT+09:00 MURATA Makoto <eb2m-mrt at asahi-net.or.jp<mailto:eb2m-mrt at asahi-net.or.jp>>:
I am studying digital signature in Office for the standardization
of XAdES.

I find that both Word 2007 and [MS-OFFCRYPTO] ignores a requirement
in 29500-2:2012.

13.2.4.1 "Modifications to the XML Digital Signature
Specification" in 29500-2:2012 specifies that "A
SignatureProperty element shall contain exactly one
SignatureTime child element".

However, Word 2007 creates a different child element.

      <SignatureProperty Id="idOfficeV1Details" Target="#idPackageSignature">
        <SignatureInfoV1 xmlns="http://schemas.microsoft.com/office/2006/digsig">
          ...
        </SignatureInfoV1>
      </SignatureProperty>

This appears to follow "2.5.2.5 idOfficeObject Object Element"
in [MS-OFFCRYPTO]

"A SignatureProperties element containing a SignatureProperty
element, which MUST contain a SignatureInfoV1 element that
specifies the details of a digital signature in a
document. The following XML Schema specifies the contents of
the SignatureProperty element: "

I think that there is a clear conflict here.

--
Regards,

Makoto



--

Praying for the victims of the Japan Tohoku earthquake

Makoto
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.vse.cz/pipermail/sc34wg4/attachments/20140226/987f3c9e/attachment-0001.html>


More information about the sc34wg4 mailing list