summaryrefslogtreecommitdiff
path: root/xmlsecurity/inc
diff options
context:
space:
mode:
authorAshod Nakashian <ashod.nakashian@collabora.co.uk>2017-07-09 09:42:01 -0400
committerAshod Nakashian <ashnakash@gmail.com>2017-07-17 00:12:10 +0200
commit4f17445c12dc26c4881c4e486215b58d26515f8d (patch)
treed5532f4a3129fe532b4ad4305a44a8817c7e8b41 /xmlsecurity/inc
parentc76c3655a394462b7b23bdfe6da4542fbdf30fbb (diff)
svl: move byte-array verification from vcl
Also use comphelper::Base64 and DateTime::CreateFromUnixTime to avoid depending on sax. Change-Id: If1853f8d9481c9caa0625a111707531bbc495f75 Reviewed-on: https://gerrit.libreoffice.org/39993 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Diffstat (limited to 'xmlsecurity/inc')
-rw-r--r--xmlsecurity/inc/certificatechooser.hxx2
-rw-r--r--xmlsecurity/inc/documentsignaturehelper.hxx2
-rw-r--r--xmlsecurity/inc/documentsignaturemanager.hxx2
-rw-r--r--xmlsecurity/inc/pch/precompiled_xmlsecurity.hxx1
-rw-r--r--xmlsecurity/inc/pdfsignaturehelper.hxx2
-rw-r--r--xmlsecurity/inc/sigstruct.hxx131
-rw-r--r--xmlsecurity/inc/xmlsignaturehelper.hxx2
-rw-r--r--xmlsecurity/inc/xsecctl.hxx2
8 files changed, 6 insertions, 138 deletions
diff --git a/xmlsecurity/inc/certificatechooser.hxx b/xmlsecurity/inc/certificatechooser.hxx
index 264b740dd448..009d20e4ea2f 100644
--- a/xmlsecurity/inc/certificatechooser.hxx
+++ b/xmlsecurity/inc/certificatechooser.hxx
@@ -28,7 +28,7 @@
#include <com/sun/star/xml/crypto/XXMLSecurityContext.hpp>
#include <com/sun/star/uno/XComponentContext.hpp>
#include <com/sun/star/uno/Sequence.hxx>
-#include <sigstruct.hxx>
+#include <svl/sigstruct.hxx>
namespace com {
diff --git a/xmlsecurity/inc/documentsignaturehelper.hxx b/xmlsecurity/inc/documentsignaturehelper.hxx
index a8f3cb1f5d40..3997ae47260d 100644
--- a/xmlsecurity/inc/documentsignaturehelper.hxx
+++ b/xmlsecurity/inc/documentsignaturehelper.hxx
@@ -23,7 +23,7 @@
#include <com/sun/star/uno/Reference.h>
#include <com/sun/star/xml/sax/XDocumentHandler.hpp>
#include <rtl/ustring.hxx>
-#include "sigstruct.hxx"
+#include <svl/sigstruct.hxx>
#include "xmlsecurity/xmlsecuritydllapi.h"
#include <vector>
diff --git a/xmlsecurity/inc/documentsignaturemanager.hxx b/xmlsecurity/inc/documentsignaturemanager.hxx
index f354ad8c8cbb..0ea708c5d241 100644
--- a/xmlsecurity/inc/documentsignaturemanager.hxx
+++ b/xmlsecurity/inc/documentsignaturemanager.hxx
@@ -24,7 +24,7 @@
#include <memory>
-#include <sigstruct.hxx>
+#include <svl/sigstruct.hxx>
#include <xmlsignaturehelper.hxx>
#include <pdfsignaturehelper.hxx>
#include <com/sun/star/uno/XComponentContext.hpp>
diff --git a/xmlsecurity/inc/pch/precompiled_xmlsecurity.hxx b/xmlsecurity/inc/pch/precompiled_xmlsecurity.hxx
index cfb26d8593ae..07008a0b5181 100644
--- a/xmlsecurity/inc/pch/precompiled_xmlsecurity.hxx
+++ b/xmlsecurity/inc/pch/precompiled_xmlsecurity.hxx
@@ -302,6 +302,5 @@
#include <unotools/readwritemutexguard.hxx>
#include <unotools/syslocale.hxx>
#include <unotools/unotoolsdllapi.h>
-#include <sigstruct.hxx>
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/xmlsecurity/inc/pdfsignaturehelper.hxx b/xmlsecurity/inc/pdfsignaturehelper.hxx
index 74b89fe44e02..7da417c46e4f 100644
--- a/xmlsecurity/inc/pdfsignaturehelper.hxx
+++ b/xmlsecurity/inc/pdfsignaturehelper.hxx
@@ -19,7 +19,7 @@
#include <com/sun/star/xml/crypto/XSEInitializer.hpp>
#include <com/sun/star/xml/crypto/XXMLSecurityContext.hpp>
-#include <sigstruct.hxx>
+#include <svl/sigstruct.hxx>
/// Handles signatures of a PDF file.
class XMLSECURITY_DLLPUBLIC PDFSignatureHelper
diff --git a/xmlsecurity/inc/sigstruct.hxx b/xmlsecurity/inc/sigstruct.hxx
deleted file mode 100644
index ff6ee5e5d3a5..000000000000
--- a/xmlsecurity/inc/sigstruct.hxx
+++ /dev/null
@@ -1,131 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef INCLUDED_XMLSECURITY_INC_SIGSTRUCT_HXX
-#define INCLUDED_XMLSECURITY_INC_SIGSTRUCT_HXX
-
-#include <rtl/ustring.hxx>
-#include <com/sun/star/util/DateTime.hpp>
-#include <com/sun/star/xml/crypto/SecurityOperationStatus.hpp>
-#include <com/sun/star/xml/crypto/DigestID.hpp>
-#include <com/sun/star/uno/Sequence.hxx>
-
-#include <set>
-#include <vector>
-
-/*
- * type of reference
- */
-enum class SignatureReferenceType
-{
- SAMEDOCUMENT = 1,
- BINARYSTREAM = 2,
- XMLSTREAM = 3
-};
-
-struct SignatureReferenceInformation
-{
- SignatureReferenceType nType;
- OUString ouURI;
- // For ODF: XAdES digests (SHA256) or the old SHA1, from css::xml::crypto::DigestID
- sal_Int32 nDigestID;
- OUString ouDigestValue;
-
- SignatureReferenceInformation() :
- nType(SignatureReferenceType::SAMEDOCUMENT),
- ouURI(""),
- nDigestID(css::xml::crypto::DigestID::SHA1),
- ouDigestValue("")
- {
- }
-
- SignatureReferenceInformation( SignatureReferenceType type, sal_Int32 digestID, const OUString& uri ) :
- SignatureReferenceInformation()
- {
- nType = type;
- nDigestID = digestID;
- ouURI = uri;
- }
-};
-
-typedef ::std::vector< SignatureReferenceInformation > SignatureReferenceInformations;
-
-struct SignatureInformation
-{
- sal_Int32 nSecurityId;
- css::xml::crypto::SecurityOperationStatus nStatus;
- SignatureReferenceInformations vSignatureReferenceInfors;
- OUString ouX509IssuerName;
- OUString ouX509SerialNumber;
- OUString ouX509Certificate;
-
- OUString ouGpgKeyID;
- OUString ouGpgCertificate;
- OUString ouGpgOwner;
-
- OUString ouSignatureValue;
- css::util::DateTime stDateTime;
-
- // XAdES EncapsulatedX509Certificate values
- std::set<OUString> maEncapsulatedX509Certificates;
-
- //We also keep the date and time as string. This is done when this
- //structure is created as a result of a XML signature being read.
- //When then a signature is added or another removed, then the original
- //XML signatures are written again (unless they have been removed).
- //If the date time string is converted into the DateTime structure
- //then information can be lost because it only holds a fractional
- //of a second with a accuracy of one hundredth of second.
- //If the string contains
- //milli seconds (because the document was created by an application other than OOo)
- //and the converted time is written back, then the string looks different
- //and the signature is broken.
- OUString ouDateTime;
- OUString ouSignatureId;
- OUString ouPropertyId;
- /// Characters of the <dc:description> element inside the signature.
- OUString ouDescription;
- /// The Id attribute of the <SignatureProperty> element that contains the <dc:description>.
- OUString ouDescriptionPropertyId;
- /// OOXML certificate SHA-256 digest, empty for ODF except when doing XAdES signature.
- OUString ouCertDigest;
- /// A full OOXML signature for unchanged roundtrip, empty for ODF.
- css::uno::Sequence<sal_Int8> aSignatureBytes;
- /// For PDF: digest format, from css::xml::crypto::DigestID
- sal_Int32 nDigestID;
- /// For PDF: has id-aa-signingCertificateV2 as a signed attribute.
- bool bHasSigningCertificate;
- /// For PDF: the byte range doesn't cover the whole document.
- bool bPartialDocumentSignature;
-
- SignatureInformation( sal_Int32 nId )
- {
- nSecurityId = nId;
- nStatus = css::xml::crypto::SecurityOperationStatus_UNKNOWN;
- nDigestID = 0;
- bHasSigningCertificate = false;
- bPartialDocumentSignature = false;
- }
-};
-
-typedef ::std::vector< SignatureInformation > SignatureInformations;
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/xmlsecurity/inc/xmlsignaturehelper.hxx b/xmlsecurity/inc/xmlsignaturehelper.hxx
index 209c93c15a09..d527942f50f2 100644
--- a/xmlsecurity/inc/xmlsignaturehelper.hxx
+++ b/xmlsecurity/inc/xmlsignaturehelper.hxx
@@ -25,7 +25,7 @@
#include <tools/link.hxx>
#include <rtl/ustring.hxx>
#include <rtl/ref.hxx>
-#include <sigstruct.hxx>
+#include <svl/sigstruct.hxx>
#include <xsecctl.hxx>
#include <xmlsecurity/xmlsecuritydllapi.h>
diff --git a/xmlsecurity/inc/xsecctl.hxx b/xmlsecurity/inc/xsecctl.hxx
index 9ddc22affbae..27cb60e54dc0 100644
--- a/xmlsecurity/inc/xsecctl.hxx
+++ b/xmlsecurity/inc/xsecctl.hxx
@@ -20,7 +20,7 @@
#ifndef INCLUDED_XMLSECURITY_SOURCE_HELPER_XSECCTL_HXX
#define INCLUDED_XMLSECURITY_SOURCE_HELPER_XSECCTL_HXX
-#include <sigstruct.hxx>
+#include <svl/sigstruct.hxx>
#include <com/sun/star/uno/XComponentContext.hpp>
#include <com/sun/star/xml/sax/XParser.hpp>