diff --git a/xmlsecurity/source/helper/ooxmlsecparser.cxx b/xmlsecurity/source/helper/ooxmlsecparser.cxx index da2ed2c0f9b6..2086d3876283 100644 --- a/xmlsecurity/source/helper/ooxmlsecparser.cxx +++ b/xmlsecurity/source/helper/ooxmlsecparser.cxx @@ -20,6 +20,7 @@ OOXMLSecParser::OOXMLSecParser(XSecController* pXSecController) ,m_bInMdssiValue(false) ,m_bInSignatureComments(false) ,m_bInX509IssuerName(false) + ,m_bInX509SerialNumber(false) ,m_bReferenceUnresolved(false) { } @@ -106,6 +107,11 @@ throw (xml::sax::SAXException, uno::RuntimeException, std::exception) m_aX509IssuerName.clear(); m_bInX509IssuerName = true; } + else if (rName == "X509SerialNumber") + { + m_aX509SerialNumber.clear(); + m_bInX509SerialNumber = true; + } if (m_xNextHandler.is()) m_xNextHandler->startElement(rName, xAttribs); @@ -152,6 +158,11 @@ void SAL_CALL OOXMLSecParser::endElement(const OUString& rName) throw (xml::sax: m_pXSecController->setX509IssuerName(m_aX509IssuerName); m_bInX509IssuerName = false; } + else if (rName == "X509SerialNumber") + { + m_pXSecController->setX509SerialNumber(m_aX509SerialNumber); + m_bInX509SerialNumber = false; + } if (m_xNextHandler.is()) m_xNextHandler->endElement(rName); @@ -171,6 +182,8 @@ void SAL_CALL OOXMLSecParser::characters(const OUString& rChars) throw (xml::sax m_aSignatureComments += rChars; else if (m_bInX509IssuerName) m_aX509IssuerName += rChars; + else if (m_bInX509SerialNumber) + m_aX509SerialNumber += rChars; if (m_xNextHandler.is()) m_xNextHandler->characters(rChars); diff --git a/xmlsecurity/source/helper/ooxmlsecparser.hxx b/xmlsecurity/source/helper/ooxmlsecparser.hxx index 1914d4ca50fd..819947baff8a 100644 --- a/xmlsecurity/source/helper/ooxmlsecparser.hxx +++ b/xmlsecurity/source/helper/ooxmlsecparser.hxx @@ -41,6 +41,8 @@ class OOXMLSecParser: public cppu::WeakImplHelper OUString m_aSignatureComments; bool m_bInX509IssuerName; OUString m_aX509IssuerName; + bool m_bInX509SerialNumber; + OUString m_aX509SerialNumber; /// Last seen . OUString m_aReferenceURI;