29#include <com/sun/star/xml/sax/SAXException.hpp>
43 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap)
52 css::uno::Reference<css::xml::sax::XAttributeList>
const& )
61 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
62 sal_uInt16
const , OUString
const& );
78 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap)
84 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
91 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
92 sal_uInt16
const , OUString
const& )
93-> std::unique_ptr<Context>
96 return std::make_unique<UnknownContext>(
m_rParser, std::move(pOldNamespaceMap));
117 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
118 bool const isReferenced)
143 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap)
167 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap)
191 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap)
212 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap)
218 css::uno::Reference<css::xml::sax::XAttributeList>
const& )
override
224 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
225 sal_uInt16
const nNamespace, OUString
const& rName)
override
229 return std::make_unique<DsPGPKeyIDContext>(
m_rParser, std::move(pOldNamespaceMap));
233 return std::make_unique<DsPGPKeyPacketContext>(
m_rParser, std::move(pOldNamespaceMap));
237 return std::make_unique<LoPGPOwnerContext>(
m_rParser, std::move(pOldNamespaceMap));
251 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
272 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
293 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
315 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
316 OUString& rIssuerName, OUString& rSerialNumber)
324 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
325 sal_uInt16
const nNamespace, OUString
const& rName)
override
352 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap)
363 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
364 sal_uInt16
const nNamespace, OUString
const& rName)
override
386 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap)
392 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
398 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
399 sal_uInt16
const nNamespace, OUString
const& rName)
override
403 return std::make_unique<DsX509DataContext>(
m_rParser, std::move(pOldNamespaceMap));
407 return std::make_unique<DsPGPDataContext>(
m_rParser, std::move(pOldNamespaceMap));
425 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap)
431 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
455 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
463 css::uno::Reference<css::xml::sax::XAttributeList>
const& )
override
482 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
483 sal_Int32& rReferenceDigestID)
490 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
492 OUString ouAlgorithm = xAttrs->getValueByName(
"Algorithm");
494 SAL_WARN_IF( ouAlgorithm.isEmpty(),
"xmlsecurity.helper",
"no Algorithm in Reference" );
495 if (ouAlgorithm.isEmpty())
501 "xmlsecurity.helper",
"Algorithm neither SHA1, SHA256 nor SHA512");
521 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
529 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
531 OUString ouAlgorithm = xAttrs->getValueByName(
"Algorithm");
551 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
559 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
560 sal_uInt16
const nNamespace, OUString
const& rName)
override
564 return std::make_unique<DsTransformContext>(
m_rParser, std::move(pOldNamespaceMap),
m_rIsC14N);
584 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap)
590 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
594 m_URI = xAttrs->getValueByName(
"URI");
597 m_Type = xAttrs->getValueByName(
"Type");
602 if (
m_URI.startsWith(
"#"))
628 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
629 sal_uInt16
const nNamespace, OUString
const& rName)
override
633 return std::make_unique<DsTransformsContext>(
m_rParser, std::move(pOldNamespaceMap),
m_IsC14N);
652 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap)
658 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
660 OUString ouAlgorithm = xAttrs->getValueByName(
"Algorithm");
674 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap)
680 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
691 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
692 sal_uInt16
const nNamespace, OUString
const& rName)
override
696 return std::make_unique<DsSignatureMethodContext>(
m_rParser, std::move(pOldNamespaceMap));
700 return std::make_unique<DsReferenceContext>(
m_rParser, std::move(pOldNamespaceMap));
715 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap)
721 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
742 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap)
748 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
754 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
755 sal_uInt16
const nNamespace, OUString
const& rName)
override
759 return std::make_unique<XadesEncapsulatedX509CertificateContext>(
m_rParser, std::move(pOldNamespaceMap));
771 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap)
777 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
783 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
784 sal_uInt16
const nNamespace, OUString
const& rName)
override
788 return std::make_unique<XadesCertificateValuesContext>(
m_rParser, std::move(pOldNamespaceMap));
814 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap)
820 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
826 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
827 sal_uInt16
const nNamespace, OUString
const& rName)
override
831 return std::make_unique<XadesUnsignedSignaturePropertiesContext>(
m_rParser, std::move(pOldNamespaceMap));
846 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
847 bool const isReferenced)
860 SAL_INFO(
"xmlsecurity.helper",
"ignoring unsigned SignatureLineId");
878 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
879 bool const isReferenced)
892 SAL_INFO(
"xmlsecurity.helper",
"ignoring unsigned SignatureLineValidImage");
910 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
911 bool const isReferenced)
924 SAL_INFO(
"xmlsecurity.helper",
"ignoring unsigned SignatureLineInvalidImage");
939 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
940 bool const isReferenced)
946 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
947 sal_uInt16
const nNamespace, OUString
const& rName)
override
955 return std::make_unique<LoSignatureLineValidImageContext>(
m_rParser, std::move(pOldNamespaceMap),
m_isReferenced);
959 return std::make_unique<LoSignatureLineInvalidImageContext>(
m_rParser, std::move(pOldNamespaceMap),
m_isReferenced);
974 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
975 OUString& rDigestValue, sal_Int32& rReferenceDigestID)
983 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
984 sal_uInt16
const nNamespace, OUString
const& rName)
override
1009 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
1010 bool const isReferenced)
1023 SAL_INFO(
"xmlsecurity.helper",
"ignoring unsigned xades:Cert");
1028 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
1029 sal_uInt16
const nNamespace, OUString
const& rName)
override
1048 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
1049 bool const isReferenced)
1055 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
1056 sal_uInt16
const nNamespace, OUString
const& rName)
override
1074 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
1075 bool const isReferenced)
1088 SAL_INFO(
"xmlsecurity.helper",
"ignoring unsigned SigningTime");
1103 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
1104 bool const isReferenced)
1110 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
1116 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
1117 sal_uInt16
const nNamespace, OUString
const& rName)
override
1125 return std::make_unique<XadesSigningCertificateContext>(
m_rParser, std::move(pOldNamespaceMap),
m_isReferenced);
1141 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
1142 bool const isReferenced)
1148 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
1154 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
1155 sal_uInt16
const nNamespace, OUString
const& rName)
override
1159 return std::make_unique<XadesSignedSignaturePropertiesContext>(
m_rParser, std::move(pOldNamespaceMap),
m_isReferenced);
1171 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
1172 bool const isReferenced)
1178 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
1184 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
1185 sal_uInt16
const nNamespace, OUString
const& rName)
override
1189 return std::make_unique<XadesSignedPropertiesContext>(
m_rParser, std::move(pOldNamespaceMap),
m_isReferenced);
1193 return std::make_unique<XadesUnsignedPropertiesContext>(
m_rParser, std::move(pOldNamespaceMap));
1207 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
1228 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
1252 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
1253 bool const isReferenced)
1259 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
1271 SAL_INFO(
"xmlsecurity.helper",
"Unknown property in ds:Object ignored");
1283 SAL_INFO(
"xmlsecurity.helper",
"ignoring unsigned SignatureProperty");
1288 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
1289 sal_uInt16
const nNamespace, OUString
const& rName)
override
1294 return std::make_unique<DcDateContext>(
m_rParser, std::move(pOldNamespaceMap),
m_Value);
1299 return std::make_unique<DcDescriptionContext>(
m_rParser, std::move(pOldNamespaceMap),
m_Value);
1310 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
1311 bool const isReferenced)
1317 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
1323 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
1324 sal_uInt16
const nNamespace, OUString
const& rName)
override
1339 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap)
1346 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
1352 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
1353 sal_uInt16
const nNamespace, OUString
const& rName)
override
1357 return std::make_unique<DsSignaturePropertiesContext>(
m_rParser, std::move(pOldNamespaceMap),
m_isReferenced);
1361 return std::make_unique<XadesQualifyingPropertiesContext>(
m_rParser, std::move(pOldNamespaceMap),
m_isReferenced);
1373 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap)
1379 css::uno::Reference<css::xml::sax::XAttributeList>
const& xAttrs)
override
1384 if (!ouIdAttr.isEmpty())
1391 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
1392 sal_uInt16
const nNamespace, OUString
const& rName)
override
1396 return std::make_unique<DsSignedInfoContext>(
m_rParser, std::move(pOldNamespaceMap));
1400 return std::make_unique<DsSignatureValueContext>(
m_rParser, std::move(pOldNamespaceMap));
1404 return std::make_unique<DsKeyInfoContext>(
m_rParser, std::move(pOldNamespaceMap));
1408 return std::make_unique<DsObjectContext>(
m_rParser, std::move(pOldNamespaceMap));
1419 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap)
1425 std::optional<SvXMLNamespaceMap>&& pOldNamespaceMap,
1426 sal_uInt16
const nNamespace, OUString
const& rName)
override
1430 return std::make_unique<DsSignatureContext>(
m_rParser, std::move(pOldNamespaceMap));
1440 , m_pXSecController(pXSecController)
1441 , m_rXMLSignatureHelper(rXMLSignatureHelper)
1458 if (!ouIdAttr.isEmpty())
1467 OUString ouIdAttr = xAttribs->getValueByName(
"id");
1469 if (ouIdAttr.isEmpty())
1471 ouIdAttr = xAttribs->getValueByName(
"Id");
1497 const OUString& rName,
1498 const css::uno::Reference< css::xml::sax::XAttributeList >& xAttribs )
1501 std::optional<SvXMLNamespaceMap> pRewindMap(
1502 SvXMLImport::processNSAttributes(
m_pNamespaceMap,
nullptr, xAttribs));
1505 sal_uInt16
const nPrefix(
m_pNamespaceMap->GetKeyByAttrName(rName, &localName));
1507 std::unique_ptr<Context> pContext;
1512 || localName !=
"document-signatures")
1514 throw css::xml::sax::SAXException(
1515 "xmlsecurity: unexpected root element",
nullptr,
1525 std::move(pRewindMap), nPrefix, localName);
1539 catch (css::uno::Exception& )
1542 throw css::xml::sax::SAXException(
1543 "xmlsecurity: Exception in XSecParser::startElement",
1548 throw css::xml::sax::SAXException(
1549 "xmlsecurity: unexpected exception in XSecParser::startElement",
nullptr,
1567 catch (css::uno::Exception& )
1570 throw css::xml::sax::SAXException(
1571 "xmlsecurity: Exception in XSecParser::endElement",
1576 throw css::xml::sax::SAXException(
1577 "xmlsecurity: unexpected exception in XSecParser::endElement",
nullptr,
1627 const css::uno::Sequence< css::uno::Any >& aArguments )
void StartVerifySignatureElement()
bool haveReferenceForId(std::u16string_view rId) const
void setGpgCertificate(OUString const &ouGpgCert)
void setDescription(OUString const &rId, OUString const &rDescription)
void setDigestValue(sal_Int32 nDigestID, OUString const &ouDigestValue)
void setGpgKeyID(OUString const &ouKeyID)
void switchGpgSignature()
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 setGpgOwner(OUString const &ouGpgOwner)
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 addEncapsulatedX509Certificate(const OUString &rEncapsulatedX509Certificate)
void setSignatureLineId(const OUString &rSignatureLineId)
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &)
std::optional< SvXMLNamespaceMap > m_pOldNamespaceMap
virtual void EndElement()
virtual std::unique_ptr< Context > CreateChildContext(std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, sal_uInt16 const, OUString const &)
virtual void Characters(OUString const &)
Context(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap)
virtual ~Context()=default
virtual void Characters(OUString const &rChars) override
DcDateContext(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, OUString &rValue)
DcDescriptionContext(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, OUString &rValue)
virtual void Characters(OUString const &rChars) override
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &xAttrs) override
sal_Int32 & m_rReferenceDigestID
DsDigestMethodContext(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, sal_Int32 &rReferenceDigestID)
DsDigestValueContext(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, OUString &rValue)
virtual void Characters(OUString const &rChars) override
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &) 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
DsKeyInfoContext(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap)
virtual std::unique_ptr< Context > CreateChildContext(std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, sal_uInt16 const nNamespace, OUString const &rName) override
DsObjectContext(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap)
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &xAttrs) override
DsPGPDataContext(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap)
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &) override
virtual std::unique_ptr< Context > CreateChildContext(std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, sal_uInt16 const nNamespace, OUString const &rName) override
DsPGPKeyIDContext(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap)
virtual void EndElement() override
virtual void Characters(OUString const &rChars) override
DsPGPKeyPacketContext(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap)
virtual void EndElement() override
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
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &xAttrs) override
DsReferenceContext(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap)
virtual void EndElement() override
sal_Int32 m_nReferenceDigestID
DsSignatureContext(XSecParser &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
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &xAttrs) override
DsSignatureMethodContext(XSecParser &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
DsSignaturePropertiesContext(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, bool const isReferenced)
virtual void EndElement() override
DsSignaturePropertyContext(XSecParser &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 Characters(OUString const &rChars) override
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &xAttrs) override
DsSignatureValueContext(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap)
virtual void EndElement() override
virtual std::unique_ptr< Context > CreateChildContext(std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, sal_uInt16 const nNamespace, OUString const &rName) override
DsSignedInfoContext(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap)
virtual void EndElement() override
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &xAttrs) override
DsTransformContext(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, bool &rIsC14N)
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &xAttrs) override
DsTransformsContext(XSecParser &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
DsX509CertificateContext(XSecParser &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< OUString > m_X509Certificates
virtual void EndElement() override
std::vector< std::pair< OUString, OUString > > m_X509IssuerSerials
DsX509DataContext(XSecParser &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 Characters(OUString const &rChars) override
DsX509IssuerNameContext(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, OUString &rValue)
OUString & m_rX509SerialNumber
OUString & m_rX509IssuerName
virtual std::unique_ptr< Context > CreateChildContext(std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, sal_uInt16 const nNamespace, OUString const &rName) override
DsX509IssuerSerialContext(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, OUString &rIssuerName, OUString &rSerialNumber)
DsX509SerialNumberContext(XSecParser &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
DsigSignaturesContext(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap)
virtual void EndElement() override
virtual void Characters(OUString const &rChars) override
LoPGPOwnerContext(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap)
virtual std::unique_ptr< Context > CreateChildContext(std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, sal_uInt16 const nNamespace, OUString const &rName) override
LoSignatureLineContext(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, bool const isReferenced)
virtual void EndElement() override
virtual void Characters(OUString const &rChars) override
LoSignatureLineIdContext(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, bool const isReferenced)
virtual void Characters(OUString const &rChars) override
LoSignatureLineInvalidImageContext(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, bool const isReferenced)
virtual void EndElement() override
virtual void Characters(OUString const &rChars) override
virtual void EndElement() override
LoSignatureLineValidImageContext(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, bool const isReferenced)
note: anything in ds:Object should be trusted only if there is a ds:Reference to it so it is signed (...
ReferencedContextImpl(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, bool const isReferenced)
OUString CheckIdAttrReferenced(css::uno::Reference< css::xml::sax::XAttributeList > const &xAttrs)
UnknownContext(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap)
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &xAttrs) override
OUString m_X509SerialNumber
virtual std::unique_ptr< Context > CreateChildContext(std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, sal_uInt16 const nNamespace, OUString const &rName) override
OUString m_X509IssuerName
XadesCertContext(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, bool const isReferenced)
sal_Int32 m_nReferenceDigestID
virtual void EndElement() override
sal_Int32 & m_rReferenceDigestID
virtual std::unique_ptr< Context > CreateChildContext(std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, sal_uInt16 const nNamespace, OUString const &rName) override
XadesCertDigestContext(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, OUString &rDigestValue, sal_Int32 &rReferenceDigestID)
OUString & m_rDigestValue
virtual std::unique_ptr< Context > CreateChildContext(std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, sal_uInt16 const nNamespace, OUString const &rName) override
XadesCertificateValuesContext(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap)
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &xAttrs) override
virtual void Characters(OUString const &rChars) override
XadesEncapsulatedX509CertificateContext(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap)
virtual void EndElement() 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
XadesQualifyingPropertiesContext(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, bool const isReferenced)
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(XSecParser &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
XadesSignedSignaturePropertiesContext(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, bool const isReferenced)
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &xAttrs) override
XadesSigningCertificateContext(XSecParser &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
XadesSigningTimeContext(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap, bool const isReferenced)
virtual void EndElement() override
virtual void Characters(OUString const &rChars) override
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &xAttrs) override
XadesUnsignedPropertiesContext(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap)
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
XadesUnsignedSignaturePropertiesContext(XSecParser &rParser, std::optional< SvXMLNamespaceMap > &&pOldNamespaceMap)
virtual void StartElement(css::uno::Reference< css::xml::sax::XAttributeList > const &xAttrs) override
XMLSignatureHelper & m_rXMLSignatureHelper
static OUString getIdAttr(const css::uno::Reference< css::xml::sax::XAttributeList > &xAttribs)
XSecParser(XMLSignatureHelper &rXMLSignatureHelper, XSecController *pXSecController)
OUString HandleIdAttr(css::uno::Reference< css::xml::sax::XAttributeList > const &xAttrs)
virtual void SAL_CALL startDocument() override
virtual void SAL_CALL endDocument() override
XSecController * m_pXSecController
virtual void SAL_CALL processingInstruction(const OUString &aTarget, const OUString &aData) override
virtual void SAL_CALL initialize(const css::uno::Sequence< css::uno::Any > &aArguments) override
virtual void SAL_CALL setDocumentLocator(const css::uno::Reference< css::xml::sax::XLocator > &xLocator) override
virtual void SAL_CALL ignorableWhitespace(const OUString &aWhitespaces) override
css::uno::Reference< css::xml::sax::XDocumentHandler > m_xNextHandler
virtual void SAL_CALL endElement(const OUString &aName) override
std::optional< SvXMLNamespaceMap > m_pNamespaceMap
virtual void SAL_CALL characters(const OUString &aChars) override
virtual void SAL_CALL startElement(const OUString &aName, const css::uno::Reference< css::xml::sax::XAttributeList > &xAttribs) override
std::stack< std::unique_ptr< Context > > m_ContextStack
FastSaxParserImpl & m_rParser
Sequence< PropertyValue > aArguments
#define SAL_WARN_IF(condition, area, stream)
#define SAL_INFO(area, stream)
constexpr OUStringLiteral aData
Any SAL_CALL getCaughtException()
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_LO_EXT
constexpr sal_uInt16 XML_NAMESPACE_XADES141
constexpr sal_uInt16 XML_NAMESPACE_DS
constexpr sal_uInt16 XML_NAMESPACE_DSIG_OOO
constexpr sal_uInt16 XML_NAMESPACE_DSIG
constexpr OUStringLiteral ALGO_XMLDSIGSHA512
constexpr OUStringLiteral ALGO_XMLDSIGSHA256
constexpr OUStringLiteral ALGO_ECDSASHA512
constexpr OUStringLiteral ALGO_ECDSASHA1
constexpr OUStringLiteral ALGO_C14N
constexpr OUStringLiteral ALGO_XMLDSIGSHA1
constexpr OUStringLiteral ALGO_ECDSASHA256