xmlsecurity: log the signature we read from the ZIP package
We can already see if a signature verification fails and what is the content of the ZIP streams we hash. Show what is the expected hash as well. Change-Id: Ibc67b7de0e8d03e06da1b86b6e8a7b2b2e613882 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127934 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
This commit is contained in:
@@ -29,6 +29,7 @@
|
||||
#include <com/sun/star/embed/StorageFormats.hpp>
|
||||
#include <com/sun/star/embed/ElementModes.hpp>
|
||||
#include <com/sun/star/beans/StringPair.hpp>
|
||||
#include <com/sun/star/beans/XPropertySet.hpp>
|
||||
#include <com/sun/star/xml/sax/XDocumentHandler.hpp>
|
||||
|
||||
#include <comphelper/documentconstants.hxx>
|
||||
@@ -362,6 +363,33 @@ SignatureStreamHelper DocumentSignatureHelper::OpenSignatureStream(
|
||||
else
|
||||
aSIGStreamName = DocumentSignatureHelper::GetPackageSignatureDefaultStreamName();
|
||||
|
||||
#ifdef SAL_LOG_INFO
|
||||
aHelper.xSignatureStream
|
||||
= aHelper.xSignatureStorage->openStreamElement(aSIGStreamName, nOpenMode);
|
||||
SAL_INFO("xmlsecurity.helper",
|
||||
"DocumentSignatureHelper::OpenSignatureStream: stream name is '"
|
||||
<< aSIGStreamName << "'");
|
||||
if (aHelper.xSignatureStream.is())
|
||||
{
|
||||
uno::Reference<io::XInputStream> xInputStream(aHelper.xSignatureStream,
|
||||
uno::UNO_QUERY);
|
||||
sal_Int64 nSize = 0;
|
||||
uno::Reference<beans::XPropertySet> xPropertySet(xInputStream, uno::UNO_QUERY);
|
||||
xPropertySet->getPropertyValue("Size") >>= nSize;
|
||||
if (nSize >= 0 || nSize < SAL_MAX_INT32)
|
||||
{
|
||||
uno::Sequence<sal_Int8> aData;
|
||||
xInputStream->readBytes(aData, nSize);
|
||||
SAL_INFO("xmlsecurity.helper",
|
||||
"DocumentSignatureHelper::OpenSignatureStream: stream content is '"
|
||||
<< OString(reinterpret_cast<const char*>(aData.getArray()),
|
||||
aData.getLength())
|
||||
<< "'");
|
||||
}
|
||||
}
|
||||
aHelper.xSignatureStream.clear();
|
||||
#endif
|
||||
|
||||
aHelper.xSignatureStream = aHelper.xSignatureStorage->openStreamElement( aSIGStreamName, nOpenMode );
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user