Uploaded image for project: 'ODF Toolkit'
  1. ODF Toolkit
  2. ODFTOOLKIT-447

Encrypted documents invalid due to misordered manifest XML elements

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.6.2-incubating
    • odfdom
    • None

    Description

      Currently an encyrpted file entry in the manifest.xml looks like:

      <manifest:file-entry manifest:full-path="meta.xml" manifest:media-type="text/xml" manifest:size="2823">
      <manifest:encryption-data manifest:checksum="mIDl6gHPgZTfq24AolQzqe60s88=" manifest:checksum-type="SHA1/1K">
      <manifest:algorithm manifest:algorithm-name="Blowfish CFB" manifest:initialisation-vector="uBM1fdR60k4="/>
      <manifest:key-derivation manifest:iteration-count="1024" manifest:key-derivation-name="PBKDF2" manifest:salt="FVyq8eGe1o5Pz80P9ZEAAw=="/>
      <manifest:start-key-generation manifest:key-size="20" manifest:start-key-generation-name="SHA1"/>
      </manifest:encryption-data>
      </manifest:file-entry>

      The package manifest schema reads like:
      <define name="encryption-data">
      <element name="manifest:encryption-data">
      <ref name="encryption-data-attlist"/>
      <ref name="algorithm"/>
      <optional>
      <ref name="start-key-generation"/>
      </optional>
      <ref name="key-derivation"/>
      </element>
      </define>
      see http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-manifest-schema.rng

      The latter two child elements of <manifest:encryption-data> have to be switched.

      Validated using the ODF online validator
      http://odf-validator.rhcloud.com/
      based on our ODF validator project.

      Attachments

        Activity

          People

            svanteschubert Svante Schubert
            svanteschubert Svante Schubert
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: