summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package/source/manifest/ManifestImport.cxx31
-rw-r--r--xmlsecurity/qa/unit/signing/data/encryptedGPG_odf13.odtbin15981 -> 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
index 6bcc43503267..e738c2f6df89 100644
--- a/xmlsecurity/qa/unit/signing/data/encryptedGPG_odf13.odt
+++ b/xmlsecurity/qa/unit/signing/data/encryptedGPG_odf13.odt
Binary files differ