PDFEncryptorR6 implements PDF 2.0 encryption (ver. 5 rev. 6) using AESv3 (256 bit key length). The PDFEncryptorR6 is enabled when the PDF output is PDF 2.0 (other versions have been deprecated, so it is the only one available in PDF 2.0). Change-Id: I27f270197910405b5c2378a3873d2495f52f3206 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176885 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178759 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins
34 lines
1.2 KiB
C++
34 lines
1.2 KiB
C++
/* -*- 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/.
|
|
*
|
|
*/
|
|
|
|
#include <vcl/pdf/PDFEncryptionInitialization.hxx>
|
|
#include <pdf/EncryptionHashTransporter.hxx>
|
|
#include <com/sun/star/beans/XMaterialHolder.hpp>
|
|
#include <rtl/ref.hxx>
|
|
#include <pdf/PDFEncryptor.hxx>
|
|
#include <pdf/PDFEncryptorR6.hxx>
|
|
|
|
using namespace css;
|
|
|
|
namespace vcl::pdf
|
|
{
|
|
css::uno::Reference<css::beans::XMaterialHolder> initEncryption(const OUString& i_rOwnerPassword,
|
|
const OUString& i_rUserPassword)
|
|
{
|
|
rtl::Reference<EncryptionHashTransporter> pTransporter = new EncryptionHashTransporter;
|
|
PDFEncryptor::initEncryption(*pTransporter, i_rOwnerPassword, i_rUserPassword);
|
|
PDFEncryptorR6::initEncryption(*pTransporter, i_rOwnerPassword, i_rUserPassword);
|
|
return pTransporter;
|
|
}
|
|
|
|
} // end vcl::pdf
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|