You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
2.5 KiB
78 lines
2.5 KiB
/* |
|
SPDX-FileCopyrightText: 2018 Chinmoy Ranjan Pradhan <chinmoyrp65@gmail.com> |
|
|
|
SPDX-License-Identifier: GPL-2.0-or-later |
|
*/ |
|
|
|
#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
|
|
|