19#include <com/sun/star/xml/sax/SAXException.hpp>
35 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap)
44 css::uno::Reference<css::xml::sax::XAttributeList>
const& )
53 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
54 sal_uInt16
const , OUString
const& );
70 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap)
76 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
83 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
84 sal_uInt16
const , OUString
const& )
85-> std::unique_ptr<Context>
88 return std::make_unique<UnknownContext>(
m_rParser, std::move(pOldNamespaceMap));
109 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
110 bool const isReferenced)
135 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
156 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
177 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
199 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
200 OUString& rIssuerName, OUString& rSerialNumber)
208 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
209 sal_uInt16
const nNamespace, OUString
const& rName)
override
236 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap)
247 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
248 sal_uInt16
const nNamespace, OUString
const& rName)
override
270 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap)
276 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
282 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
283 sal_uInt16
const nNamespace, OUString
const& rName)
override
287 return std::make_unique<DsX509DataContext>(
m_rParser, std::move(pOldNamespaceMap));
306 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap)
312 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
336 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
344 css::uno::Reference<css::xml::sax::XAttributeList>
const& )
override
363 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
364 sal_Int32& rReferenceDigestID)
371 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
373 OUString ouAlgorithm = xAttrs->getValueByName(
"Algorithm");
375 SAL_WARN_IF( ouAlgorithm.isEmpty(),
"xmlsecurity.helper",
"no Algorithm in Reference" );
376 if (ouAlgorithm.isEmpty())
382 "xmlsecurity.helper",
"Algorithm neither SHA1, SHA256 nor SHA512");
402 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
410 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
412 OUString aAlgorithm = xAttrs->getValueByName(
"Algorithm");
429 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
437 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
438 sal_uInt16
const nNamespace, OUString
const& rName)
override
442 return std::make_unique<DsTransformContext>(
m_rParser, std::move(pOldNamespaceMap),
m_rIsC14N);
462 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap)
468 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
472 m_URI = xAttrs->getValueByName(
"URI");
475 m_Type = xAttrs->getValueByName(
"Type");
480 if (
m_URI.startsWith(
"#"))
506 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
507 sal_uInt16
const nNamespace, OUString
const& rName)
override
511 return std::make_unique<DsTransformsContext>(
m_rParser, std::move(pOldNamespaceMap),
m_IsC14N);
530 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap)
536 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
538 OUString ouAlgorithm = xAttrs->getValueByName(
"Algorithm");
552 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap)
558 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
569 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
570 sal_uInt16
const nNamespace, OUString
const& rName)
override
574 return std::make_unique<DsSignatureMethodContext>(
m_rParser, std::move(pOldNamespaceMap));
578 return std::make_unique<DsReferenceContext>(
m_rParser, std::move(pOldNamespaceMap));
594 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
595 OUString& rDigestValue, sal_Int32& rReferenceDigestID)
603 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
604 sal_uInt16
const nNamespace, OUString
const& rName)
override
629 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
630 bool const isReferenced)
643 SAL_INFO(
"xmlsecurity.helper",
"ignoring unsigned xades:Cert");
648 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
649 sal_uInt16
const nNamespace, OUString
const& rName)
override
668 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
669 bool const isReferenced)
675 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
676 sal_uInt16
const nNamespace, OUString
const& rName)
override
694 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
695 bool const isReferenced)
708 SAL_INFO(
"xmlsecurity.helper",
"ignoring unsigned SigningTime");
723 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
724 bool const isReferenced)
730 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
736 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
737 sal_uInt16
const nNamespace, OUString
const& rName)
override
745 return std::make_unique<XadesSigningCertificateContext>(
m_rParser, std::move(pOldNamespaceMap),
m_isReferenced);
757 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
758 bool const isReferenced)
764 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
770 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
771 sal_uInt16
const nNamespace, OUString
const& rName)
override
775 return std::make_unique<XadesSignedSignaturePropertiesContext>(
m_rParser, std::move(pOldNamespaceMap),
m_isReferenced);
787 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
788 bool const isReferenced)
794 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
800 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
801 sal_uInt16
const nNamespace, OUString
const& rName)
override
820 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
841 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
863 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
864 bool const isReferenced)
870 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
876 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
877 sal_uInt16
const nNamespace, OUString
const& rName)
override
881 return std::make_unique<MsodigsigSetupIDContext>(
m_rParser, std::move(pOldNamespaceMap),
m_SetupID);
906 SAL_INFO(
"xmlsecurity.helper",
"ignoring unsigned SignatureInfoV1");
919 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
940 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
948 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
949 sal_uInt16
const nNamespace, OUString
const& rName)
override
953 return std::make_unique<MdssiValueContext>(
m_rParser, std::move(pOldNamespaceMap),
m_rValue);
971 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
972 bool const isReferenced)
978 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
990 SAL_INFO(
"xmlsecurity.helper",
"Unknown property in ds:Object ignored");
1001 SAL_INFO(
"xmlsecurity.helper",
"ignoring unsigned SignatureProperty");
1006 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
1007 sal_uInt16
const nNamespace, OUString
const& rName)
override
1012 return std::make_unique<MdssiSignatureTimeContext>(
m_rParser, std::move(pOldNamespaceMap),
m_Value);
1016 return std::make_unique<MsodigsigSignatureInfoV1Context>(
m_rParser, std::move(pOldNamespaceMap),
m_isReferenced);
1027 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
1028 bool const isReferenced)
1034 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
1040 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
1041 sal_uInt16
const nNamespace, OUString
const& rName)
override
1056 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
1057 bool const isReferenced)
1063 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
1077 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
1078 sal_uInt16
const nNamespace, OUString
const& rName)
override
1082 return std::make_unique<DsReferenceContext>(
m_rParser, std::move(pOldNamespaceMap));
1092 enum class Mode {
Default, ValidSignatureLineImage, InvalidSignatureLineImage };
1098 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap)
1105 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
1108 if (
id ==
"idValidSigLnImg")
1112 else if (
id ==
"idInvalidSigLnImg")
1129 SAL_INFO(
"xmlsecurity.helper",
"ignoring unsigned SignatureLineValidImage");
1139 SAL_INFO(
"xmlsecurity.helper",
"ignoring unsigned SignatureLineInvalidImage");
1153 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
1154 sal_uInt16
const nNamespace, OUString
const& rName)
override
1158 return std::make_unique<DsSignaturePropertiesContext>(
m_rParser, std::move(pOldNamespaceMap),
m_isReferenced);
1162 return std::make_unique<XadesQualifyingPropertiesContext>(
m_rParser, std::move(pOldNamespaceMap),
m_isReferenced);
1177 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap)
1183 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
1188 if (!ouIdAttr.isEmpty())
1195 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
1196 sal_uInt16
const nNamespace, OUString
const& rName)
override
1200 return std::make_unique<DsSignedInfoContext>(
m_rParser, std::move(pOldNamespaceMap));
1204 return std::make_unique<DsSignatureValueContext>(
m_rParser, std::move(pOldNamespaceMap));
1208 return std::make_unique<DsKeyInfoContext>(
m_rParser, std::move(pOldNamespaceMap));
1212 return std::make_unique<DsObjectContext>(
m_rParser, std::move(pOldNamespaceMap));
1221 , m_pXSecController(pXSecController)
1222 ,m_rXMLSignatureHelper(rXMLSignatureHelper)
1242 OUString
const aId = xAttrs->getValueByName(
"Id");
1265 std::optional<SvXMLNamespaceMap> pRewindMap(
1266 SvXMLImport::processNSAttributes(
m_pNamespaceMap,
nullptr, xAttribs));
1269 sal_uInt16
const nPrefix(
m_pNamespaceMap->GetKeyByAttrName(rName, &localName));
1271 std::unique_ptr<Context> pContext;
1277 throw css::xml::sax::SAXException(
1278 "xmlsecurity: unexpected root element",
nullptr,
1288 std::move(pRewindMap), nPrefix, localName);
virtual std::unique_ptr< Context > CreateChildContext(std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, sal_uInt16 const, OUString const &)
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &)
virtual void Characters(OUString const &)
OOXMLSecParser & m_rParser
virtual ~Context()=default
Context(OOXMLSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap)
std::optional< SvXMLNamespaceMap > m_pOldNamespaceMap
virtual void EndElement()
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &xAttrs) override
DsDigestMethodContext(OOXMLSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, sal_Int32 &rReferenceDigestID)
sal_Int32 & m_rReferenceDigestID
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &) override
DsDigestValueContext(OOXMLSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, OUString &rValue)
virtual void Characters(OUString const &rChars) override
DsKeyInfoContext(OOXMLSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap)
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &xAttrs) override
virtual std::unique_ptr< Context > CreateChildContext(std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, sal_uInt16 const nNamespace, OUString const &rName) override
virtual std::unique_ptr< Context > CreateChildContext(std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, sal_uInt16 const nNamespace, OUString const &rName) override
DsManifestContext(OOXMLSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, bool const isReferenced)
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &xAttrs) override
@ ValidSignatureLineImage
@ InvalidSignatureLineImage
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &xAttrs) override
virtual void Characters(OUString const &rChars) override
virtual void EndElement() override
virtual std::unique_ptr< Context > CreateChildContext(std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, sal_uInt16 const nNamespace, OUString const &rName) override
DsObjectContext(OOXMLSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap)
virtual std::unique_ptr< Context > CreateChildContext(std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, sal_uInt16 const nNamespace, OUString const &rName) override
sal_Int32 m_nReferenceDigestID
DsReferenceContext(OOXMLSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap)
virtual void EndElement() override
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &xAttrs) override
DsSignatureContext(OOXMLSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap)
virtual std::unique_ptr< Context > CreateChildContext(std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, sal_uInt16 const nNamespace, OUString const &rName) override
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &xAttrs) override
DsSignatureMethodContext(OOXMLSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap)
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &xAttrs) override
DsSignaturePropertiesContext(OOXMLSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, bool const isReferenced)
virtual std::unique_ptr< Context > CreateChildContext(std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, sal_uInt16 const nNamespace, OUString const &rName) override
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &xAttrs) override
DsSignaturePropertyContext(OOXMLSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, bool const isReferenced)
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &xAttrs) override
SignatureProperty m_Property
virtual std::unique_ptr< Context > CreateChildContext(std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, sal_uInt16 const nNamespace, OUString const &rName) override
virtual void EndElement() override
DsSignatureValueContext(OOXMLSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap)
virtual void EndElement() override
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &xAttrs) override
virtual void Characters(OUString const &rChars) override
virtual void EndElement() override
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &xAttrs) override
DsSignedInfoContext(OOXMLSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap)
virtual std::unique_ptr< Context > CreateChildContext(std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, sal_uInt16 const nNamespace, OUString const &rName) override
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &xAttrs) override
DsTransformContext(OOXMLSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, bool &rIsC14N)
virtual std::unique_ptr< Context > CreateChildContext(std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, sal_uInt16 const nNamespace, OUString const &rName) override
DsTransformsContext(OOXMLSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, bool &rIsC14N)
DsX509CertificateContext(OOXMLSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, OUString &rValue)
virtual void Characters(OUString const &rChars) override
can't be sure what is supposed to happen here because the spec is clear as mud
std::vector< std::pair< OUString, OUString > > m_X509IssuerSerials
virtual std::unique_ptr< Context > CreateChildContext(std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, sal_uInt16 const nNamespace, OUString const &rName) override
DsX509DataContext(OOXMLSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap)
std::vector< OUString > m_X509Certificates
virtual void EndElement() override
virtual void Characters(OUString const &rChars) override
DsX509IssuerNameContext(OOXMLSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, OUString &rValue)
virtual std::unique_ptr< Context > CreateChildContext(std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, sal_uInt16 const nNamespace, OUString const &rName) override
DsX509IssuerSerialContext(OOXMLSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, OUString &rIssuerName, OUString &rSerialNumber)
OUString & m_rX509SerialNumber
OUString & m_rX509IssuerName
virtual void Characters(OUString const &rChars) override
DsX509SerialNumberContext(OOXMLSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, OUString &rValue)
MdssiSignatureTimeContext(OOXMLSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, OUString &rValue)
virtual std::unique_ptr< Context > CreateChildContext(std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, sal_uInt16 const nNamespace, OUString const &rName) override
virtual void Characters(OUString const &rChars) override
MdssiValueContext(OOXMLSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, OUString &rValue)
MsodigsigSetupIDContext(OOXMLSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, OUString &rValue)
virtual void Characters(OUString const &rChars) override
virtual std::unique_ptr< Context > CreateChildContext(std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, sal_uInt16 const nNamespace, OUString const &rName) override
MsodigsigSignatureInfoV1Context(OOXMLSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, bool const isReferenced)
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &xAttrs) override
virtual void EndElement() override
OUString m_SignatureComments
note: anything in ds:Object should be trusted only if there is a ds:Reference to it so it is signed (...
OUString CheckIdAttrReferenced(css::uno::Reference< css::xml::sax::XAttributeList > const &xAttrs)
ReferencedContextImpl(OOXMLSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, bool const isReferenced)
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &xAttrs) override
UnknownContext(OOXMLSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap)
OUString m_X509SerialNumber
sal_Int32 m_nReferenceDigestID
virtual void EndElement() override
virtual std::unique_ptr< Context > CreateChildContext(std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, sal_uInt16 const nNamespace, OUString const &rName) override
XadesCertContext(OOXMLSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, bool const isReferenced)
OUString m_X509IssuerName
virtual std::unique_ptr< Context > CreateChildContext(std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, sal_uInt16 const nNamespace, OUString const &rName) override
OUString & m_rDigestValue
XadesCertDigestContext(OOXMLSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, OUString &rDigestValue, sal_Int32 &rReferenceDigestID)
sal_Int32 & m_rReferenceDigestID
XadesQualifyingPropertiesContext(OOXMLSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, bool const isReferenced)
virtual std::unique_ptr< Context > CreateChildContext(std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, sal_uInt16 const nNamespace, OUString const &rName) override
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &xAttrs) override
virtual std::unique_ptr< Context > CreateChildContext(std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, sal_uInt16 const nNamespace, OUString const &rName) override
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &xAttrs) override
XadesSignedPropertiesContext(OOXMLSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, bool const isReferenced)
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &xAttrs) override
XadesSignedSignaturePropertiesContext(OOXMLSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, bool const isReferenced)
virtual std::unique_ptr< Context > CreateChildContext(std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, sal_uInt16 const nNamespace, OUString const &rName) override
virtual std::unique_ptr< Context > CreateChildContext(std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, sal_uInt16 const nNamespace, OUString const &rName) override
XadesSigningCertificateContext(OOXMLSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, bool const isReferenced)
XadesSigningTimeContext(OOXMLSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, bool const isReferenced)
virtual void Characters(OUString const &rChars) override
virtual void EndElement() override
Parses an OOXML digital signature.
virtual void SAL_CALL setDocumentLocator(const css::uno::Reference< css::xml::sax::XLocator > &xLocator) override
virtual void SAL_CALL startElement(const OUString &aName, const css::uno::Reference< css::xml::sax::XAttributeList > &xAttribs) override
virtual void SAL_CALL characters(const OUString &aChars) override
OUString HandleIdAttr(css::uno::Reference< css::xml::sax::XAttributeList > const &xAttrs)
OOXMLSecParser(XMLSignatureHelper &rXMLSignatureHelper, XSecController *pXSecController)
virtual void SAL_CALL endDocument() override
virtual void SAL_CALL startDocument() override
XMLSignatureHelper & m_rXMLSignatureHelper
std::stack< std::unique_ptr< Context > > m_ContextStack
virtual void SAL_CALL ignorableWhitespace(const OUString &aWhitespaces) override
XSecController * m_pXSecController
std::optional< SvXMLNamespaceMap > m_pNamespaceMap
virtual void SAL_CALL endElement(const OUString &aName) override
virtual void SAL_CALL initialize(const css::uno::Sequence< css::uno::Any > &rArguments) override
virtual void SAL_CALL processingInstruction(const OUString &aTarget, const OUString &aData) override
css::uno::Reference< css::xml::sax::XDocumentHandler > m_xNextHandler
virtual ~OOXMLSecParser() override
void StartVerifySignatureElement()
bool haveReferenceForId(std::u16string_view rId) const
void setDescription(OUString const &rId, OUString const &rDescription)
void setDigestValue(sal_Int32 nDigestID, OUString const &ouDigestValue)
void setId(OUString const &ouId)
void setSignatureMethod(svl::crypto::SignatureMethodAlgorithm eAlgorithmID)
Sets algorithm from <SignatureMethod Algorithm="...">.
void setX509CertDigest(OUString const &rCertDigest, sal_Int32 const nReferenceDigestID, std::u16string_view const &rX509IssuerName, std::u16string_view const &rX509SerialNumber)
void setSignatureValue(OUString const &ouSignatureValue)
void setInvalidSignatureImage(std::u16string_view rInvalidSigImg)
void collectToVerify(std::u16string_view referenceId)
void addStreamReference(const OUString &ouUri, bool isBinary, sal_Int32 nDigestID)
void setDate(OUString const &rId, OUString const &ouDate)
void setX509Data(std::vector< std::pair< OUString, OUString > > &rX509IssuerSerials, std::vector< OUString > const &rX509Certificates)
void setValidSignatureImage(std::u16string_view rValidSigImg)
void addReference(const OUString &ouUri, sal_Int32 nDigestID, const OUString &ouType)
void setReferenceCount() const
void setSignatureLineId(const OUString &rSignatureLineId)
FastSaxParserImpl & m_rParser
#define SAL_WARN_IF(condition, area, stream)
#define SAL_INFO(area, stream)
const OUString & GetXMLToken(enum XMLTokenEnum eToken)
OReadStatusBarDocumentHandler::StatusBar_XML_Namespace nNamespace
constexpr sal_uInt16 XML_NAMESPACE_DC
constexpr sal_uInt16 XML_NAMESPACE_XADES132
constexpr sal_uInt16 XML_NAMESPACE_XML
constexpr sal_uInt16 XML_NAMESPACE_MSODIGSIG
constexpr sal_uInt16 XML_NAMESPACE_MDSSI
constexpr sal_uInt16 XML_NAMESPACE_LO_EXT
constexpr sal_uInt16 XML_NAMESPACE_XADES141
constexpr sal_uInt16 XML_NAMESPACE_DS
constexpr OUStringLiteral ALGO_XMLDSIGSHA512
constexpr OUStringLiteral NS_MDSSI
constexpr OUStringLiteral ALGO_XMLDSIGSHA256
constexpr OUStringLiteral ALGO_RELATIONSHIP
constexpr OUStringLiteral ALGO_ECDSASHA512
constexpr OUStringLiteral ALGO_ECDSASHA1
constexpr OUStringLiteral ALGO_XMLDSIGSHA1
constexpr OUStringLiteral ALGO_ECDSASHA256