diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2016-10-13 16:11:02 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2016-10-13 18:18:16 +0000 |
commit | 3b6f7f38100c9c9d799756ffddbf281bf49364f4 (patch) | |
tree | 8dc82c34d4a91363d58c1f67b69f44d067ecd8f0 /xmlsecurity/source/helper/pdfsignaturehelper.cxx | |
parent | tdf#102328 Add constraint for argument X in Calc function GAMMA.DIST. (diff) | |
download | core-3b6f7f38100c9c9d799756ffddbf281bf49364f4.tar.gz core-3b6f7f38100c9c9d799756ffddbf281bf49364f4.zip |
xmlsecuity: show PDF signature in the doc signatures dialog
It doesn't actually show any details yet, but it shows a selectable
empty line, to be filled in with details.
Change-Id: Ib35f13e5c779fe1a28933c1a0761682e9f5de62d
Reviewed-on: https://gerrit.libreoffice.org/29775
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Diffstat (limited to 'xmlsecurity/source/helper/pdfsignaturehelper.cxx')
-rw-r--r-- | xmlsecurity/source/helper/pdfsignaturehelper.cxx | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/xmlsecurity/source/helper/pdfsignaturehelper.cxx b/xmlsecurity/source/helper/pdfsignaturehelper.cxx index 9a5ec842f13d..2054f2b6f2d9 100644 --- a/xmlsecurity/source/helper/pdfsignaturehelper.cxx +++ b/xmlsecurity/source/helper/pdfsignaturehelper.cxx @@ -52,7 +52,7 @@ bool PDFSignatureHelper::ReadAndVerifySignature(const uno::Reference<io::XInputS for (size_t i = 0; i < aSignatures.size(); ++i) { - security::DocumentSignatureInformation aInfo; + SignatureInformation aInfo(i); bool bDigestMatch; if (!xmlsecurity::pdfio::PDFDocument::ValidateSignature(*pStream, aSignatures[i], bDigestMatch)) @@ -61,16 +61,33 @@ bool PDFSignatureHelper::ReadAndVerifySignature(const uno::Reference<io::XInputS continue; } - aInfo.SignatureIsValid = bDigestMatch; + if (bDigestMatch) + aInfo.nStatus = xml::crypto::SecurityOperationStatus_OPERATION_SUCCEEDED; + else + aInfo.nStatus = xml::crypto::SecurityOperationStatus_UNKNOWN; m_aSignatureInfos.push_back(aInfo); } return true; } -uno::Sequence<security::DocumentSignatureInformation> PDFSignatureHelper::GetDocumentSignatureInformations() +SignatureInformations PDFSignatureHelper::GetSignatureInformations() const { - return comphelper::containerToSequence(m_aSignatureInfos); + return m_aSignatureInfos; +} + +uno::Sequence<security::DocumentSignatureInformation> PDFSignatureHelper::GetDocumentSignatureInformations() const +{ + uno::Sequence<security::DocumentSignatureInformation> aRet(m_aSignatureInfos.size()); + + for (size_t i = 0; i < m_aSignatureInfos.size(); ++i) + { + const SignatureInformation& rInternal = m_aSignatureInfos[i]; + security::DocumentSignatureInformation& rExternal = aRet[i]; + rExternal.SignatureIsValid = rInternal.nStatus == xml::crypto::SecurityOperationStatus_OPERATION_SUCCEEDED; + } + + return aRet; } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |