okular/generators/poppler/pdfsignatureutils.h

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

79 lines
2.5 KiB
C
Raw Normal View History

2021-05-24 07:25:56 +00:00
/*
SPDX-FileCopyrightText: 2018 Chinmoy Ranjan Pradhan <chinmoyrp65@gmail.com>
SPDX-License-Identifier: GPL-2.0-or-later
*/
2019-07-14 07:12:06 +00:00
#ifndef _OKULAR_GENERATOR_PDF_SIGNATUREUTILS_H_
#define _OKULAR_GENERATOR_PDF_SIGNATUREUTILS_H_
#include <poppler-form.h>
#include <poppler-version.h>
#define POPPLER_VERSION_MACRO ((POPPLER_VERSION_MAJOR << 16) | (POPPLER_VERSION_MINOR << 8) | (POPPLER_VERSION_MICRO))
#include "core/signatureutils.h"
class PopplerCertificateInfo : public Okular::CertificateInfo
{
public:
explicit PopplerCertificateInfo(const Poppler::CertificateInfo &info);
~PopplerCertificateInfo() override;
bool isNull() const override;
int version() const override;
QByteArray serialNumber() const override;
QString issuerInfo(EntityInfoKey) const override;
QString subjectInfo(EntityInfoKey) const override;
QString nickName() const override;
QDateTime validityStart() const override;
QDateTime validityEnd() const override;
KeyUsageExtensions keyUsageExtensions() const override;
QByteArray publicKey() const override;
PublicKeyType publicKeyType() const override;
int publicKeyStrength() const override;
bool isSelfSigned() const override;
QByteArray certificateData() const override;
bool checkPassword(const QString &password) const override;
private:
Poppler::CertificateInfo m_info;
};
class PopplerSignatureInfo : public Okular::SignatureInfo
{
public:
explicit PopplerSignatureInfo(const Poppler::SignatureValidationInfo &info);
~PopplerSignatureInfo() override;
SignatureStatus signatureStatus() const override;
CertificateStatus certificateStatus() const override;
QString signerName() const override;
QString signerSubjectDN() const override;
QString location() const override;
QString reason() const override;
HashAlgorithm hashAlgorithm() const override;
QDateTime signingTime() const override;
QByteArray signature() const override;
QList<qint64> signedRangeBounds() const override;
bool signsTotalDocument() const override;
const Okular::CertificateInfo &certificateInfo() const override;
private:
Poppler::SignatureValidationInfo m_info;
Okular::CertificateInfo *m_certfiticateInfo;
};
#if POPPLER_VERSION_MACRO >= QT_VERSION_CHECK(21, 1, 0)
class PopplerCertificateStore : public Okular::CertificateStore
{
public:
~PopplerCertificateStore() override;
QList<Okular::CertificateInfo *> signingCertificates(bool *userCancelled) const override;
};
#endif
#endif