diff options
-rw-r--r-- | package/source/manifest/ManifestImport.cxx | 31 | ||||
-rw-r--r-- | xmlsecurity/qa/unit/signing/data/encryptedGPG_odf13.odt | bin | 15981 -> 12982 bytes |
2 files changed, 18 insertions, 13 deletions
diff --git a/package/source/manifest/ManifestImport.cxx b/package/source/manifest/ManifestImport.cxx index 4014bf3d0a4d..58d311c20084 100644 --- a/package/source/manifest/ManifestImport.cxx +++ b/package/source/manifest/ManifestImport.cxx @@ -338,8 +338,8 @@ void SAL_CALL ManifestImport::startElement( const OUString& aName, const uno::Re doFileEntry(aConvertedAttribs); else if (aConvertedName == gsManifestKeyInfoElement) //loext:keyinfo ; - else if (aConvertedName == gsManifestKeyInfoElement13) //manifest:keyinfo - ; + else if (aConvertedName == gsEncryptedKeyElement13) //manifest:encrypted-key + doEncryptedKey(aConvertedAttribs); else aStack.back().m_bValid = false; break; @@ -354,8 +354,12 @@ void SAL_CALL ManifestImport::startElement( const OUString& aName, const uno::Re doEncryptionData(aConvertedAttribs); else if (aConvertedName == gsEncryptedKeyElement) //loext:encrypted-key doEncryptedKey(aConvertedAttribs); - else if (aConvertedName == gsEncryptedKeyElement13) //manifest:encrypted-key - doEncryptedKey(aConvertedAttribs); + else if (aConvertedName == gsEncryptionMethodElement13) //manifest:encryption-method + doEncryptionMethod(aConvertedAttribs, gsAlgorithmAttribute13); + else if (aConvertedName == gsManifestKeyInfoElement13) //manifest:keyinfo + ; + else if (aConvertedName == gsCipherDataElement13) //manifest:CipherData + ; else aStack.back().m_bValid = false; break; @@ -374,16 +378,15 @@ void SAL_CALL ManifestImport::startElement( const OUString& aName, const uno::Re doStartKeyAlg(aConvertedAttribs); else if (aConvertedName == gsEncryptionMethodElement) //loext:encryption-method doEncryptionMethod(aConvertedAttribs, gsAlgorithmAttribute); - else if (aConvertedName == gsEncryptionMethodElement13) //manifest:encryption-method - doEncryptionMethod(aConvertedAttribs, gsAlgorithmAttribute13); else if (aConvertedName == gsKeyInfoElement) //loext:KeyInfo ; else if (aConvertedName == gsCipherDataElement) //loext:CipherData ; - else if (aConvertedName == gsCipherDataElement13) //manifest:CipherData - ; else if (aConvertedName == gsPgpDataElement13) //manifest:PGPData ; + else if (aConvertedName == gsCipherValueElement13) //manifest:CipherValue + // ciphervalue action happens on endElement + aCurrentCharacters = ""; else aStack.back().m_bValid = false; break; @@ -399,9 +402,6 @@ void SAL_CALL ManifestImport::startElement( const OUString& aName, const uno::Re else if (aConvertedName == gsCipherValueElement) //loext:CipherValue // ciphervalue action happens on endElement aCurrentCharacters = ""; - else if (aConvertedName == gsCipherValueElement13) //manifest:CipherValue - // ciphervalue action happens on endElement - aCurrentCharacters = ""; else if (aConvertedName == gsPgpKeyIDElement13) //manifest:PGPKeyID // ciphervalue action happens on endElement aCurrentCharacters = ""; @@ -479,11 +479,16 @@ void SAL_CALL ManifestImport::endElement( const OUString& aName ) // end element handling for elements with cdata switch (nLevel) { + case 4: { + if (aConvertedName == gsCipherValueElement13) //manifest:CipherValue + doEncryptedCipherValue(); + else + aStack.back().m_bValid = false; + break; + } case 5: { if (aConvertedName == gsCipherValueElement) //loext:CipherValue doEncryptedCipherValue(); - else if (aConvertedName == gsCipherValueElement13) //manifest:CipherValue - doEncryptedCipherValue(); else if (aConvertedName == gsPgpKeyIDElement13) //manifest:PGPKeyID doEncryptedKeyId(); else if (aConvertedName == gsPGPKeyPacketElement13) //manifest:PGPKeyPacket diff --git a/xmlsecurity/qa/unit/signing/data/encryptedGPG_odf13.odt b/xmlsecurity/qa/unit/signing/data/encryptedGPG_odf13.odt Binary files differindex 6bcc43503267..e738c2f6df89 100644 --- a/xmlsecurity/qa/unit/signing/data/encryptedGPG_odf13.odt +++ b/xmlsecurity/qa/unit/signing/data/encryptedGPG_odf13.odt |