Foxit PDF SDK
fs_ltvverifier.h
Go to the documentation of this file.
1 
15 #ifndef FS_LTVVERIFIER_H_
16 #define FS_LTVVERIFIER_H_
17 
18 #include "common/fs_common.h"
19 #include "pdf/fs_pdfdoc.h"
20 
26 namespace foxit {
30 namespace pdf {
32 class Response FS_FINAL : public Object{
33  public:
39  typedef enum _ResponseType {
43  e_TypeCRL = 1,
46  } ResponseType;
47 
48 
57  this->type = type;
58  this->response_data = response_data;
59  }
60 
63 
69  Response(const Response& other) {
70  type = other.type;
72  }
73 
81  Response& operator = (const Response& other) {
82  type = other.type;
84  return *this;
85  }
86 
94  bool operator == (const Response& other) const {
95  return (type == other.type && response_data == other.response_data);
96  }
97 
105  bool operator != (const Response& other) const {
106  return!(*this == other);
107  }
108 
119  this->type = type;
120  this->response_data = response_data;
121  }
122 
130 };
131 
133 class TimeRange FS_FINAL : public Object{
134  public:
142  this->start_time = start_time;
143  this->end_time = end_time;
144  }
145 
148 
154  TimeRange(const TimeRange& other) {
155  start_time = other.start_time;
156  end_time = other.end_time;
157  }
158 
166  TimeRange& operator = (const TimeRange& other) {
167  start_time = other.start_time;
168  end_time = other.end_time;
169  return *this;
170  }
171 
179  bool operator == (const TimeRange& other) const {
180  return (start_time == other.start_time && end_time == other.end_time);
181  }
182 
190  bool operator != (const TimeRange& other) const {
191  return!(*this == other);
192  }
193 
202  void Set(const DateTime& start_time, const DateTime& end_time) {
203  this->start_time = start_time;
204  this->end_time = end_time;
205  }
206 
211 };
212 
214 class CertVerifyResult FS_FINAL : public Object{
215  public:
221  typedef enum _CertStatus {
230  } CertStatus;
231 
237  typedef enum _RevocationReason {
261 
267  typedef enum _ResponseInfoLocation {
277 
278 
309  const DateTime& cert_check_time,
313  this->cert = cert;
314  this->is_ca = is_ca;
315  this->is_trusted = is_trusted;
316  this->response = response;
317  this->response_effect_time_range = response_effect_time_range;
318  this->revoke_time = revoke_time;
319  this->cert_status = cert_status;
320  this->reason = reason;
321  this->cert_check_time = cert_check_time;
322  this->exist_signature_vri_creation_time = exist_signature_vri_creation_time;
323  this->signature_vri_creation_time = signature_vri_creation_time;
324  this->exist_response_signature_vri_creation_time = exist_response_signature_vri_creation_time;
325  this->response_signature_vri_creation_time = response_signature_vri_creation_time;
326  this->response_info_location = response_info_location;
327  }
328 
331  : is_ca(false)
332  , is_trusted(false)
338 
345  cert = other.cert;
346  is_ca = other.is_ca;
347  is_trusted = other.is_trusted;
348  response = other.response;
350  revoke_time = other.revoke_time;
351  cert_status = other.cert_status;
352  reason = other.reason;
359  }
360 
369  cert = other.cert;
370  is_ca = other.is_ca;
371  is_trusted = other.is_trusted;
372  response = other.response;
374  revoke_time = other.revoke_time;
375  cert_status = other.cert_status;
376  reason = other.reason;
383  return *this;
384  }
385 
393  bool operator == (const CertVerifyResult& other) const {
394  return (cert == other.cert && is_ca == other.is_ca && is_trusted == other.is_trusted &&
395  response == other.response &&
397  revoke_time == other.revoke_time &&
398  cert_status == other.cert_status && reason == other.reason &&
399  cert_check_time == other.cert_check_time &&
405  }
406 
414  bool operator != (const CertVerifyResult& other) const {
415  return!(*this == other);
416  }
417 
447  void Set(const String& cert, bool is_ca, bool is_trusted, const Response& response,
450  const DateTime& cert_check_time,
454  this->cert = cert;
455  this->is_ca = is_ca;
456  this->is_trusted = is_trusted;
457  this->response = response;
458  this->response_effect_time_range = response_effect_time_range;
459  this->revoke_time = revoke_time;
460  this->cert_status = cert_status;
461  this->reason = reason;
462  this->cert_check_time = cert_check_time;
463  this->exist_signature_vri_creation_time = exist_signature_vri_creation_time;
464  this->signature_vri_creation_time = signature_vri_creation_time;
465  this->exist_response_signature_vri_creation_time = exist_response_signature_vri_creation_time;
466  this->response_signature_vri_creation_time = response_signature_vri_creation_time;
467  this->response_info_location = response_info_location;
468  }
469 
472 
474  bool is_ca;
519 };
520 
523 
525 class CertIssuerPair FS_FINAL : public Object{
526  public:
534  this->cert = cert;
535  this->issuer = issuer;
536  }
537 
540 
547  cert = other.cert;
548  issuer = other.issuer;
549  }
550 
559  cert = other.cert;
560  issuer = other.issuer;
561  return *this;
562  }
563 
571  bool operator == (const CertIssuerPair& other) const {
572  return (cert == other.cert && issuer == other.issuer);
573  }
574 
582  bool operator != (const CertIssuerPair& other) const {
583  return!(*this == other);
584  }
585 
594  void Set(const String& cert, const String& issuer) {
595  this->cert = cert;
596  this->issuer = issuer;
597  }
598 
603 };
604 
606 class RevocationArrayInfo FS_FINAL : public Object{
607  public:
615  this->ocsp_array = ocsp_array;
616  this->crl_array = crl_array;
617  }
618 
621 
628  ocsp_array = other.ocsp_array;
629  crl_array = other.crl_array;
630  }
631 
640  ocsp_array = other.ocsp_array;
641  crl_array = other.crl_array;
642  return *this;
643  }
644 
652  bool operator == (const RevocationArrayInfo& other) const {
653  size_t ocsp_count = ocsp_array.GetSize();
654  size_t crl_count = crl_array.GetSize();
655  if (ocsp_count != other.ocsp_array.GetSize() || crl_count != crl_array.GetSize())
656  return false;
657  for (size_t i = 0; i < ocsp_count; i++) {
658  if (ocsp_array.GetAt(i) != other.ocsp_array.GetAt(i))
659  return false;
660  }
661  for (size_t i = 0; i < ocsp_count; i++) {
662  if (crl_array.GetAt(i) != other.crl_array.GetAt(i))
663  return false;
664  }
665  return true;
666  }
667 
675  bool operator != (const RevocationArrayInfo& other) const {
676  return!(*this == other);
677  }
678 
688  this->ocsp_array = ocsp_array;
689  this->crl_array = crl_array;
690  }
691 
696 };
697 
705  public:
711  virtual void Release() = 0;
712 
723  virtual StringArray GetCertChainFromSignature(const String& signature_content) = 0;
724 
735  virtual Response GetResponseOnLineForSingleCert(const CertIssuerPair& cert_issuer_pair) = 0;
736 
749  virtual CertVerifyResult VerifyOCSP(const CertIssuerPair& cert_issuer_pair, const String& ocsp_data) = 0;
750 
763  virtual CertVerifyResult VerifyCRL(const CertIssuerPair& cert_issuer_pair, const String& crl_data) = 0;
764 
772  virtual bool IsCA(const String& cert) = 0;
773 
784  virtual DateTime GetDTSTime(const String& signature_content) = 0;
785 
796  virtual String GetTSTSignature(const String& signature_content) = 0;
797 
809  virtual DateTime GetTSTTime(const String& signature_content) = 0;
810 
822  virtual CertIssuerPair GetOCSPCertAndIssuer(const String& ocsp_data, const StringArray& trust_cert_chain) = 0;
823 
835  virtual DateTime GetOCSPProducedAtTime(const String& ocsp_data) = 0;
836 
844  virtual bool IsOCSPNeedCheck(const String& ocsp_data) = 0;
845 
856  virtual TimeRange GetCertValidTimeRange(const String& cert) = 0;
857 
868  virtual String GetOCSPSignature(const String& ocsp_data) = 0;
869 
880  virtual String GetCRLSignature(const String& crl_data) = 0;
881 
892  virtual RevocationArrayInfo GetRevocationInfoFromSignatureData(const String& signature_content) = 0;
893 
902  virtual bool IsIssuerMatchCert(const CertIssuerPair& cert_issuer_pair) = 0;
903 
904  protected:
905  ~RevocationCallback() {}
906 };
907 
917  public:
925  virtual bool IsCertTrusted(const String& cert) = 0;
926 
934  virtual bool IsCertTrustedRoot(const String& cert) = 0;
935 
936 };
937 
941 
942 
950 class LTVVerifier FS_FINAL : public Base{
951  public:
957  typedef enum _TimeType {
959  e_SignatureCreationTime = 0,
961  e_SignatureTSTTime = 1,
963  e_CurrentTime = 2,
968  e_VRICreationTime = 3
969  } TimeType;
970 
976  typedef enum _VerifyMode {
978  e_VerifyModeAcrobat = 1
979  } VerifyMode;
980 
981 
997  explicit LTVVerifier(const PDFDoc& document, bool is_verify_signature, bool use_expired_tst,
998  bool ignore_doc_info, TimeType time_type);
999 
1005  LTVVerifier(const LTVVerifier& other);
1013  LTVVerifier& operator = (const LTVVerifier& other);
1014 
1022  bool operator == (const LTVVerifier& other) const;
1030  bool operator != (const LTVVerifier& other) const;
1031 
1033  ~LTVVerifier();
1034 
1042  bool IsEmpty() const;
1043 
1054  void SetRevocationCallback(RevocationCallback* callback);
1055 
1066  void SetVerifyMode(VerifyMode mode);
1067 
1077  void SetTrustedCertStoreCallback(TrustedCertStoreCallback* callback);
1078 
1090  SignatureVerifyResultArray Verify();
1091 
1103  SignatureVerifyResultArray VerifySignature(const Signature& signature);
1104 
1112  void AddDSS(const SignatureVerifyResult& signature_verify_result);
1113 
1114  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
1115  explicit LTVVerifier(FS_HANDLE handle = NULL);
1116 };
1117 
1119 class SignatureVerifyResult FS_FINAL : public Base{
1120  public:
1126  typedef enum _LTVState {
1133  } LTVState;
1134 
1135 
1150 
1158  bool operator == (const SignatureVerifyResult& other) const;
1166  bool operator != (const SignatureVerifyResult& other) const;
1167 
1175  bool IsEmpty() const;
1176 
1179 
1220 
1227 
1234 
1242 
1243  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
1244  explicit SignatureVerifyResult(FS_HANDLE handle = NULL);
1245 
1246 };
1247 
1248 } // namespace pdf
1249 } // namespace foxit
1250 #endif // FS_LTVVERIFIER_H_
1251 
foxit::pdf::CertIssuerPair::Set
void Set(const String &cert, const String &issuer)
Set value.
Definition: fs_ltvverifier.h:594
foxit::pdf::RevocationCallback::Release
virtual void Release()=0
A callback function used to release current callback object itself.
foxit::pdf::RevocationCallback::GetRevocationInfoFromSignatureData
virtual RevocationArrayInfo GetRevocationInfoFromSignatureData(const String &signature_content)=0
A callback function used to get the revocation information (in array type) from a signature.
foxit::pdf::CertVerifyResult::operator==
bool operator==(const CertVerifyResult &other) const
Equal operator.
Definition: fs_ltvverifier.h:393
foxit::pdf::CertVerifyResult::response_effect_time_range
TimeRange response_effect_time_range
The time range when the response takes effect.
Definition: fs_ltvverifier.h:480
foxit::pdf::RevocationCallback::GetOCSPCertAndIssuer
virtual CertIssuerPair GetOCSPCertAndIssuer(const String &ocsp_data, const StringArray &trust_cert_chain)=0
A callback function used to get the cert-issuer pair of OCSP response.
foxit::pdf::CertIssuerPair::operator==
bool operator==(const CertIssuerPair &other) const
Equal operator.
Definition: fs_ltvverifier.h:571
foxit::FS_HANDLE
void * FS_HANDLE
Handle type.
Definition: fs_basictypes.h:214
foxit::pdf::CertVerifyResult::e_CertStatusUnknown
This means certificate status is unknown.
Definition: fs_ltvverifier.h:229
foxit::pdf::SignatureVerifyResult::LTVState
LTVState
Enumeration for LTV state that indicates if a signature is a LTV signature.
Definition: fs_ltvverifier.h:1126
foxit::pdf::TimeRange::TimeRange
TimeRange()
Constructor.
Definition: fs_ltvverifier.h:147
foxit::pdf::SignatureVerifyResult::GetSignatureCheckTime
DateTime GetSignatureCheckTime()
Get the time that is actually used to check signature.
foxit::DateTime
Definition: fs_basictypes.h:460
foxit::StringArray
Definition: fs_basictypes.h:230
foxit::pdf::SignatureVerifyResult::e_LTVStateInactive
This means LTV is inactive.
Definition: fs_ltvverifier.h:1128
foxit::StringArray::GetSize
size_t GetSize() const
Get the size of elements in current array.
foxit::pdf::RevocationCallback::GetCertChainFromSignature
virtual StringArray GetCertChainFromSignature(const String &signature_content)=0
A callback function used to get the cert chain from the signature content.
foxit::pdf::SignatureVerifyResult::GetSignatureHashValue
String GetSignatureHashValue()
Get signature hash value.
foxit::Object
CFX_Object Object
Object type.
Definition: fs_basictypes.h:221
foxit::pdf::CertVerifyResult::e_ReasonKeyCompromise
Revocatoin reason: key compromise.
Definition: fs_ltvverifier.h:243
foxit::pdf::RevocationCallback::IsCA
virtual bool IsCA(const String &cert)=0
A callback function used to judge whether a certificate is a CA certificate.
foxit::pdf::CertVerifyResult::e_LocationOnline
Response information is got by online request.
Definition: fs_ltvverifier.h:275
foxit::pdf::RevocationArrayInfo::crl_array
StringArray crl_array
An array of CRL response content.
Definition: fs_ltvverifier.h:695
foxit::pdf::TrustedCertStoreCallback::IsCertTrusted
virtual bool IsCertTrusted(const String &cert)=0
A callback function used to check if input certificate is trusted.
foxit::pdf::TimeRange::TimeRange
TimeRange(const DateTime &start_time, const DateTime &end_time)
Constructor, with parameters.
Definition: fs_ltvverifier.h:141
foxit::pdf::CertVerifyResult::cert
String cert
A certificate contnet.
Definition: fs_ltvverifier.h:471
foxit::pdf::CertVerifyResult::e_CertStatusExpired
This means certificate is expired.
Definition: fs_ltvverifier.h:227
foxit::pdf::CertIssuerPair::cert
String cert
Certificate content.
Definition: fs_ltvverifier.h:600
foxit::pdf::CertVerifyResult::Set
void Set(const String &cert, bool is_ca, bool is_trusted, const Response &response, const TimeRange &response_effect_time_range, const DateTime &revoke_time, CertStatus cert_status, RevocationReason reason, const DateTime &cert_check_time, bool exist_signature_vri_creation_time, const DateTime &signature_vri_creation_time, bool exist_response_signature_vri_creation_time, const DateTime &response_signature_vri_creation_time, ResponseInfoLocation response_info_location)
Set value.
Definition: fs_ltvverifier.h:447
foxit::pdf::RevocationCallback::IsOCSPNeedCheck
virtual bool IsOCSPNeedCheck(const String &ocsp_data)=0
A callback function used to get flag which decides if need to check OCSP response.
foxit::pdf::CertVerifyResult::e_ReasonCertificateHold
Revocatoin reason: certificate hold.
Definition: fs_ltvverifier.h:253
foxit::pdf::Response::type
ResponseType type
Response type. Please refer to values starting from Response::e_TypeNone and this should be one of th...
Definition: fs_ltvverifier.h:127
fs_common.h
Header file for common definitions and classes.
foxit::pdf::RevocationCallback::GetResponseOnLineForSingleCert
virtual Response GetResponseOnLineForSingleCert(const CertIssuerPair &cert_issuer_pair)=0
A callback function used to get response online for a certificate.
foxit::pdf::Response::operator=
Response & operator=(const Response &other)
Assign operator.
Definition: fs_ltvverifier.h:81
foxit::pdf::SignatureVerifyResult::SignatureVerifyResult
SignatureVerifyResult(const SignatureVerifyResult &other)
Constructor, with another signature veirfy result object.
foxit::pdf::TimeRange::operator!=
bool operator!=(const TimeRange &other) const
Not equal operator.
Definition: fs_ltvverifier.h:190
foxit::pdf::CertVerifyResult::e_ReasonRemoveFromCRL
Revocatoin reason: remove from CRL.
Definition: fs_ltvverifier.h:255
foxit::pdf::SignatureVerifyResult::GetCertificateVerifyResults
CertVerifyResultArray GetCertificateVerifyResults()
Get certificate verify results.
foxit::pdf::CertVerifyResult::e_LocationDSS
Response information is found in DSS dictionary.
Definition: fs_ltvverifier.h:271
foxit::pdf::Response::e_TypeNone
No response.
Definition: fs_ltvverifier.h:41
foxit::pdf::CertVerifyResult::e_ReasonCACompromise
Revocatoin reason: CA compromise.
Definition: fs_ltvverifier.h:245
foxit::pdf::TimeRange::TimeRange
TimeRange(const TimeRange &other)
Constructor, with another time range object.
Definition: fs_ltvverifier.h:154
foxit::pdf::RevocationCallback::GetOCSPSignature
virtual String GetOCSPSignature(const String &ocsp_data)=0
A callback function used to get the signature content from a OCSP response.
foxit::pdf::RevocationCallback::GetCRLSignature
virtual String GetCRLSignature(const String &crl_data)=0
A callback function used to get the signature content from a CRL response.
foxit::pdf::CertVerifyResultArray
Definition: fs_ltvverifier.h:522
foxit::pdf::RevocationCallback::GetOCSPProducedAtTime
virtual DateTime GetOCSPProducedAtTime(const String &ocsp_data)=0
A callback function used to get the produce time of the OCSP response.
foxit::pdf::SignatureVerifyResult::IsEmpty
bool IsEmpty() const
Check whether current object is empty or not.
foxit::pdf::SignatureVerifyResultArray
Definition: fs_ltvverifier.h:940
foxit::pdf::SignatureVerifyResult::~SignatureVerifyResult
~SignatureVerifyResult()
Destructor.
foxit::pdf::TimeRange::Set
void Set(const DateTime &start_time, const DateTime &end_time)
Set value.
Definition: fs_ltvverifier.h:202
foxit::pdf::CertVerifyResult::exist_signature_vri_creation_time
bool exist_signature_vri_creation_time
Indicate if creation time of siganture's VRI exists.
Definition: fs_ltvverifier.h:501
foxit::pdf::CertVerifyResult::cert_status
CertStatus cert_status
Certificate status. Please refer to values starting from CertVerifyResult::e_CertStatusValid and this...
Definition: fs_ltvverifier.h:488
foxit::pdf::CertVerifyResult::e_ReasonAffiliationChanged
Revocatoin reason: affiliation changed.
Definition: fs_ltvverifier.h:247
foxit::pdf::SignatureVerifyResult::operator=
SignatureVerifyResult & operator=(const SignatureVerifyResult &other)
Assign operator.
foxit::pdf::TrustedCertStoreCallback::IsCertTrustedRoot
virtual bool IsCertTrustedRoot(const String &cert)=0
A callback function used to check if input certificate is used as a trusted root.
foxit::pdf::Response::Response
Response(const Response &other)
Constructor, with another response object.
Definition: fs_ltvverifier.h:69
foxit::pdf::RevocationCallback::GetCertValidTimeRange
virtual TimeRange GetCertValidTimeRange(const String &cert)=0
A callback function used to get the time range that represents validity period of a certificate.
foxit::pdf::TrustedCertStoreCallback
Definition: fs_ltvverifier.h:916
foxit::pdf::SignatureVerifyResult
Definition: fs_ltvverifier.h:1119
foxit::pdf::CertVerifyResult::RevocationReason
RevocationReason
Enumeration for revocation reason for a certificate.
Definition: fs_ltvverifier.h:237
foxit::pdf::CertVerifyResult::e_CertStatusValid
This means certificate is valid.
Definition: fs_ltvverifier.h:223
foxit::pdf::CertVerifyResult::signature_vri_creation_time
DateTime signature_vri_creation_time
Creation time of a signature's VRI. utc_hour_offset and utc_minite_offset of this time object are ign...
Definition: fs_ltvverifier.h:506
foxit::pdf::CertVerifyResult::e_CertStatusRevoked
This means certificate is revoked.
Definition: fs_ltvverifier.h:225
foxit::pdf::Response::operator==
bool operator==(const Response &other) const
Equal operator.
Definition: fs_ltvverifier.h:94
foxit::pdf::TimeRange
Definition: fs_ltvverifier.h:133
foxit::pdf::RevocationArrayInfo::operator=
RevocationArrayInfo & operator=(const RevocationArrayInfo &other)
Assign operator.
Definition: fs_ltvverifier.h:639
CFX_ByteString
BYTE STRING CLASS.
Definition: fx_string.h:317
foxit::pdf::TimeRange::start_time
DateTime start_time
Start time of current time range.
Definition: fs_ltvverifier.h:208
foxit::pdf::CertVerifyResult::response_signature_vri_creation_time
DateTime response_signature_vri_creation_time
Creation time of response signature's VRI. utc_hour_offset and utc_minite_offset of this time object ...
Definition: fs_ltvverifier.h:513
foxit::pdf::Response::e_TypeCRL
CRL response.
Definition: fs_ltvverifier.h:43
foxit::pdf::CertVerifyResult::cert_check_time
DateTime cert_check_time
The actual time when this certificate is checked validity. utc_hour_offset and utc_minite_offset of t...
Definition: fs_ltvverifier.h:499
foxit::pdf::SignatureVerifyResult::GetLTVState
LTVState GetLTVState()
Get LTV state that indicates if a signature is a LTV signature.
foxit::pdf::CertIssuerPair::CertIssuerPair
CertIssuerPair()
Constructor.
Definition: fs_ltvverifier.h:539
foxit::pdf::Signature
Definition: fs_signature.h:99
foxit::pdf::Response::Response
Response()
Constructor.
Definition: fs_ltvverifier.h:62
foxit::pdf::CertVerifyResult::is_trusted
bool is_trusted
Indicate if the certificate is truscted by user.
Definition: fs_ltvverifier.h:476
foxit::pdf::RevocationCallback::VerifyCRL
virtual CertVerifyResult VerifyCRL(const CertIssuerPair &cert_issuer_pair, const String &crl_data)=0
A callback function used to verify whether the CRL response matches the certificate and get the verif...
foxit::pdf::SignatureVerifyResult::GetSignatureCheckTimeType
LTVVerifier::TimeType GetSignatureCheckTimeType()
Get the type of the time that is actually used to check siganture.
foxit::pdf::Response::response_data
String response_data
Response content.
Definition: fs_ltvverifier.h:129
foxit::pdf::CertVerifyResult::is_ca
bool is_ca
Indicate if the certificate is a CA certificate.
Definition: fs_ltvverifier.h:474
foxit::pdf::CertIssuerPair::CertIssuerPair
CertIssuerPair(const String &cert, const String &issuer)
Constructor, with parameters.
Definition: fs_ltvverifier.h:533
operator==
bool operator==(const char *str1, const CFX_ByteString &str2)
Check if two byte strings are equal.
Definition: fs_basictypes.h:128
foxit::pdf::Response::Set
void Set(ResponseType type, const String &response_data)
Set value.
Definition: fs_ltvverifier.h:118
foxit::pdf::CertIssuerPair::CertIssuerPair
CertIssuerPair(const CertIssuerPair &other)
Constructor, with another cert-issuer pair object.
Definition: fs_ltvverifier.h:546
foxit::pdf::CertVerifyResult::operator=
CertVerifyResult & operator=(const CertVerifyResult &other)
Assign operator.
Definition: fs_ltvverifier.h:368
foxit::pdf::SignatureVerifyResult::GetOCSPSigantureVerifyResults
SignatureVerifyResultArray GetOCSPSigantureVerifyResults()
Get signature verify results for OCSP signature of each certificate.
foxit::pdf::SignatureVerifyResult::GetTSTSignatureVerifyResult
SignatureVerifyResult GetTSTSignatureVerifyResult()
Get the verify result of time stamp token of this signature.
foxit::pdf::SignatureVerifyResult::operator==
bool operator==(const SignatureVerifyResult &other) const
Equal operator.
foxit::pdf::CertVerifyResult::CertVerifyResult
CertVerifyResult()
Constructor.
Definition: fs_ltvverifier.h:330
foxit::StringArray::GetAt
String GetAt(size_t index) const
Retrieve a copy of the element at position specified by index in current array.
foxit
Foxit namespace.
Definition: fs_taggedpdf.h:27
foxit::pdf::CertVerifyResult::CertVerifyResult
CertVerifyResult(const CertVerifyResult &other)
Constructor, with another certificate verify result object.
Definition: fs_ltvverifier.h:344
foxit::pdf::RevocationCallback::GetTSTTime
virtual DateTime GetTSTTime(const String &signature_content)=0
A callback function used to get the time stamp token time from signature content.
foxit::pdf::CertVerifyResult::CertStatus
CertStatus
Enumeration for certificate status.
Definition: fs_ltvverifier.h:221
foxit::pdf::RevocationCallback
Definition: fs_ltvverifier.h:704
foxit::pdf::CertVerifyResult::e_ReasonNoStatus
Revocatoin reason: ceritifcate has no status.
Definition: fs_ltvverifier.h:239
foxit::pdf::RevocationArrayInfo::Set
void Set(const StringArray &ocsp_array, const StringArray &crl_array)
Set value.
Definition: fs_ltvverifier.h:687
foxit::pdf::RevocationCallback::IsIssuerMatchCert
virtual bool IsIssuerMatchCert(const CertIssuerPair &cert_issuer_pair)=0
A callback function used to check if an issuer matches a certificate.
operator!=
bool operator!=(const char *str1, const CFX_ByteString &str2)
Check if two byte strings are not equal.
Definition: fs_basictypes.h:140
foxit::pdf::Response
Definition: fs_ltvverifier.h:32
foxit::pdf::RevocationArrayInfo
Definition: fs_ltvverifier.h:606
fs_pdfdoc.h
Header file for PDF document related definitions and classes.
foxit::pdf::CertVerifyResult::reason
RevocationReason reason
Revocation reason of the certificate. Please refer to values starting from CertVerifyResult::e_Reason...
Definition: fs_ltvverifier.h:494
foxit::pdf::CertIssuerPair
Definition: fs_ltvverifier.h:525
foxit::pdf::Response::Response
Response(ResponseType type, const String &response_data)
Constructor, with parameters.
Definition: fs_ltvverifier.h:56
foxit::pdf::TimeRange::operator=
TimeRange & operator=(const TimeRange &other)
Assign operator.
Definition: fs_ltvverifier.h:166
NULL
#define NULL
The null-pointer value.
Definition: fx_system.h:780
foxit::pdf::CertVerifyResult::e_ReasonPrivilegeWithDrawn
Revocatoin reason: privilege with drawn.
Definition: fs_ltvverifier.h:257
foxit::pdf::TimeRange::end_time
DateTime end_time
End time of current time range.
Definition: fs_ltvverifier.h:210
foxit::pdf::CertVerifyResult::response
Response response
A response for the certificate.
Definition: fs_ltvverifier.h:478
foxit::pdf::SignatureVerifyResult::e_LTVStateEnable
This means LTV is enabled.
Definition: fs_ltvverifier.h:1130
foxit::pdf::CertVerifyResult::e_LocationSignature
Response information is found in signature content.
Definition: fs_ltvverifier.h:273
foxit::pdf::RevocationArrayInfo::RevocationArrayInfo
RevocationArrayInfo()
Constructor.
Definition: fs_ltvverifier.h:620
foxit::pdf::SignatureVerifyResult::GetSignatureName
String GetSignatureName()
Get signature name.
foxit::pdf::PDFDoc
Definition: fs_pdfdoc.h:610
foxit::pdf::CertVerifyResult::revoke_time
DateTime revoke_time
Revoked time got from the response.
Definition: fs_ltvverifier.h:482
foxit::pdf::RevocationArrayInfo::ocsp_array
StringArray ocsp_array
An array of OCSP response content.
Definition: fs_ltvverifier.h:693
foxit::pdf::CertVerifyResult::e_ReasonUnspecified
Revocatoin reason: unspecified reason.
Definition: fs_ltvverifier.h:241
foxit::pdf::Response::operator!=
bool operator!=(const Response &other) const
Not equal operator.
Definition: fs_ltvverifier.h:105
foxit::pdf::CertVerifyResult::operator!=
bool operator!=(const CertVerifyResult &other) const
Not equal operator.
Definition: fs_ltvverifier.h:414
foxit::pdf::RevocationCallback::VerifyOCSP
virtual CertVerifyResult VerifyOCSP(const CertIssuerPair &cert_issuer_pair, const String &ocsp_data)=0
A callback function used to verify whether the OCSP response matches the certificate and get the veri...
foxit::pdf::CertVerifyResult::exist_response_signature_vri_creation_time
bool exist_response_signature_vri_creation_time
Indicate if creation time of response signature's VRI exists.
Definition: fs_ltvverifier.h:508
foxit::pdf::SignatureVerifyResult::GetSignatureState
uint32 GetSignatureState()
Get signature state.
foxit::pdf::CertIssuerPair::operator=
CertIssuerPair & operator=(const CertIssuerPair &other)
Assign operator.
Definition: fs_ltvverifier.h:558
foxit::pdf::LTVVerifier::TimeType
TimeType
Enumeration for time type.
Definition: fs_ltvverifier.h:957
foxit::pdf::CertVerifyResult::e_ReasonSuperseded
Revocatoin reason: superseded.
Definition: fs_ltvverifier.h:249
foxit::pdf::CertVerifyResult::response_info_location
ResponseInfoLocation response_info_location
Response information (as revocation information) location where certificate response can be found....
Definition: fs_ltvverifier.h:518
foxit::pdf::CertIssuerPair::issuer
String issuer
An issuer of the certificate.
Definition: fs_ltvverifier.h:602
foxit::pdf::CertVerifyResult::CertVerifyResult
CertVerifyResult(const String &cert, bool is_ca, bool is_trusted, const Response &response, const TimeRange &response_effect_time_range, const DateTime &revoke_time, CertStatus cert_status, RevocationReason reason, const DateTime &cert_check_time, bool exist_signature_vri_creation_time, const DateTime &signature_vri_creation_time, bool exist_response_signature_vri_creation_time, const DateTime &response_signature_vri_creation_time, ResponseInfoLocation response_info_location)
Constructor, with parameters.
Definition: fs_ltvverifier.h:306
foxit::pdf::RevocationCallback::GetDTSTime
virtual DateTime GetDTSTime(const String &signature_content)=0
A callback function used to get the DTS (document time stamp signature) time from signature content.
foxit::pdf::RevocationArrayInfo::RevocationArrayInfo
RevocationArrayInfo(const StringArray &ocsp_array, const StringArray &crl_array)
Constructor, with parameters.
Definition: fs_ltvverifier.h:614
foxit::pdf::CertVerifyResult::e_ReasonCessationOfOperation
Revocatoin reason: cessation of operation.
Definition: fs_ltvverifier.h:251
foxit::pdf::RevocationArrayInfo::RevocationArrayInfo
RevocationArrayInfo(const RevocationArrayInfo &other)
Constructor, with another revocation array information object.
Definition: fs_ltvverifier.h:627
foxit::pdf::CertVerifyResult::ResponseInfoLocation
ResponseInfoLocation
Enumeration for response information location.
Definition: fs_ltvverifier.h:267
foxit::pdf::TimeRange::operator==
bool operator==(const TimeRange &other) const
Equal operator.
Definition: fs_ltvverifier.h:179
foxit::pdf::LTVVerifier
Definition: fs_ltvverifier.h:950
foxit::pdf::SignatureVerifyResult::e_LTVStateNotEnable
This means LTV is not enabled.
Definition: fs_ltvverifier.h:1132
foxit::pdf::RevocationArrayInfo::operator==
bool operator==(const RevocationArrayInfo &other) const
Equal operator.
Definition: fs_ltvverifier.h:652
foxit::pdf::CertVerifyResult::e_LocationNotSet
Location is not set.
Definition: fs_ltvverifier.h:269
foxit::uint32
FX_UINT32 uint32
32-bit unsigned integer.
Definition: fs_basictypes.h:196
foxit::pdf::RevocationArrayInfo::operator!=
bool operator!=(const RevocationArrayInfo &other) const
Not equal operator.
Definition: fs_ltvverifier.h:675
foxit::Base
Definition: fs_basictypes.h:427
foxit::pdf::CertVerifyResult::e_ReasonAACompromise
Revocatoin reason: AA compromise.
Definition: fs_ltvverifier.h:259
foxit::pdf::CertIssuerPair::operator!=
bool operator!=(const CertIssuerPair &other) const
Not equal operator.
Definition: fs_ltvverifier.h:582
foxit::pdf::RevocationCallback::GetTSTSignature
virtual String GetTSTSignature(const String &signature_content)=0
A callback function used to get the time stamp token content from a signature content.
foxit::pdf::SignatureVerifyResult::operator!=
bool operator!=(const SignatureVerifyResult &other) const
Not equal operator.
foxit::pdf::Response::ResponseType
ResponseType
Enumeration for response type.
Definition: fs_ltvverifier.h:39
foxit::pdf::CertVerifyResult
Definition: fs_ltvverifier.h:214
foxit::pdf::Response::e_TypeOCSP
OCSP response.
Definition: fs_ltvverifier.h:45