Go to the documentation of this file.
15 #ifndef FS_LTVVERIFIER_H_
16 #define FS_LTVVERIFIER_H_
39 typedef enum _ResponseType {
109 return!(*
this == other);
198 return!(*
this == other);
228 typedef enum _CertStatus {
244 typedef enum _RevocationReason {
274 typedef enum _ResponseInfoLocation {
425 return!(*
this == other);
596 return!(*
this == other);
673 for (
size_t i = 0; i < ocsp_count; i++) {
677 for (
size_t i = 0; i < ocsp_count; i++) {
692 return!(*
this == other);
996 typedef enum _TimeType {
998 e_SignatureCreationTime = 0,
1000 e_SignatureTSTTime = 1,
1007 e_VRICreationTime = 3
1015 typedef enum _VerifyMode {
1017 e_VerifyModeAcrobat = 1
1036 explicit LTVVerifier(
const PDFDoc& document,
bool is_verify_signature,
bool use_expired_tst,
1037 bool ignore_doc_info, TimeType time_type);
1081 bool IsEmpty()
const;
1105 void SetVerifyMode(VerifyMode mode);
1178 typedef enum _LTVState {
1302 #endif // FS_LTVVERIFIER_H_
void Set(const String &cert, const String &issuer)
Set value.
Definition: fs_ltvverifier.h:607
virtual void Release()=0
A callback function used to release current callback object itself.
virtual RevocationArrayInfo GetRevocationInfoFromSignatureData(const String &signature_content)=0
A callback function used to get the revocation information (in array type) from a signature.
bool operator==(const CertVerifyResult &other) const
Equal operator.
Definition: fs_ltvverifier.h:403
TimeRange response_effect_time_range
The time range when the response takes effect.
Definition: fs_ltvverifier.h:490
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.
bool operator==(const CertIssuerPair &other) const
Equal operator.
Definition: fs_ltvverifier.h:584
void * FS_HANDLE
Handle type.
Definition: fs_basictypes.h:213
This means certificate status is unknown.
Definition: fs_ltvverifier.h:236
LTVState
Enumeration for LTV state that indicates if a signature is a LTV signature.
Definition: fs_ltvverifier.h:1178
TimeRange()
Constructor.
Definition: fs_ltvverifier.h:151
DateTime GetSignatureCheckTime()
Get the time that is actually used to check signature.
Definition: fs_basictypes.h:484
Definition: fs_basictypes.h:229
This means LTV is inactive.
Definition: fs_ltvverifier.h:1180
size_t GetSize() const
Get the size of elements in current array.
virtual StringArray GetCertChainFromSignature(const String &signature_content)=0
A callback function used to get the cert chain from the signature content.
String GetSignatureHashValue()
Get signature hash value.
CFX_Object Object
Object type.
Definition: fs_basictypes.h:220
Revocatoin reason: key compromise.
Definition: fs_ltvverifier.h:250
virtual bool IsCA(const String &cert)=0
A callback function used to judge whether a certificate is a CA certificate.
Response information is got by online request.
Definition: fs_ltvverifier.h:282
StringArray crl_array
An array of CRL response content.
Definition: fs_ltvverifier.h:711
virtual bool IsCertTrusted(const String &cert)=0
A callback function used to check if input certificate is trusted.
TimeRange(const DateTime &start_time, const DateTime &end_time)
Constructor, with parameters.
Definition: fs_ltvverifier.h:145
String cert
A certificate contnet.
Definition: fs_ltvverifier.h:481
This means certificate is expired.
Definition: fs_ltvverifier.h:234
String cert
Certificate content.
Definition: fs_ltvverifier.h:613
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:457
virtual bool IsOCSPNeedCheck(const String &ocsp_data)=0
A callback function used to get flag which decides if need to check OCSP response.
~RevocationArrayInfo()
Destructor.
Definition: fs_ltvverifier.h:636
Revocatoin reason: certificate hold.
Definition: fs_ltvverifier.h:260
ResponseType type
Response type. Please refer to values starting from Response::e_TypeNone and this should be one of th...
Definition: fs_ltvverifier.h:130
Header file for common definitions and classes.
virtual Response GetResponseOnLineForSingleCert(const CertIssuerPair &cert_issuer_pair)=0
A callback function used to get response online for a certificate.
Response & operator=(const Response &other)
Assign operator.
Definition: fs_ltvverifier.h:84
SignatureVerifyResult(const SignatureVerifyResult &other)
Constructor, with another signature veirfy result object.
bool operator!=(const TimeRange &other) const
Not equal operator.
Definition: fs_ltvverifier.h:197
Revocatoin reason: remove from CRL.
Definition: fs_ltvverifier.h:262
CertVerifyResultArray GetCertificateVerifyResults()
Get certificate verify results.
Response information is found in DSS dictionary.
Definition: fs_ltvverifier.h:278
No response.
Definition: fs_ltvverifier.h:41
Revocatoin reason: CA compromise.
Definition: fs_ltvverifier.h:252
TimeRange(const TimeRange &other)
Constructor, with another time range object.
Definition: fs_ltvverifier.h:161
virtual String GetOCSPSignature(const String &ocsp_data)=0
A callback function used to get the signature content from a OCSP response.
virtual String GetCRLSignature(const String &crl_data)=0
A callback function used to get the signature content from a CRL response.
Definition: fs_ltvverifier.h:532
virtual DateTime GetOCSPProducedAtTime(const String &ocsp_data)=0
A callback function used to get the produce time of the OCSP response.
bool IsEmpty() const
Check whether current object is empty or not.
Definition: fs_ltvverifier.h:979
~SignatureVerifyResult()
Destructor.
void Set(const DateTime &start_time, const DateTime &end_time)
Set value.
Definition: fs_ltvverifier.h:209
bool exist_signature_vri_creation_time
Indicate if creation time of siganture's VRI exists.
Definition: fs_ltvverifier.h:511
CertStatus cert_status
Certificate status. Please refer to values starting from CertVerifyResult::e_CertStatusValid and this...
Definition: fs_ltvverifier.h:498
Revocatoin reason: affiliation changed.
Definition: fs_ltvverifier.h:254
SignatureVerifyResult & operator=(const SignatureVerifyResult &other)
Assign operator.
Definition: fs_ltvverifier.h:963
~TimeRange()
Destructor.
Definition: fs_ltvverifier.h:154
virtual bool IsCertTrustedRoot(const String &cert)=0
A callback function used to check if input certificate is used as a trusted root.
Response(const Response &other)
Constructor, with another response object.
Definition: fs_ltvverifier.h:72
virtual StringArray GetCertificates()=0
Retrieve the array of certificates available for completing the certificate chain.
virtual TimeRange GetCertValidTimeRange(const String &cert)=0
A callback function used to get the time range that represents validity period of a certificate.
Definition: fs_ltvverifier.h:932
Definition: fs_ltvverifier.h:1171
RevocationReason
Enumeration for revocation reason for a certificate.
Definition: fs_ltvverifier.h:244
This means certificate is valid.
Definition: fs_ltvverifier.h:230
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:516
This means certificate is revoked.
Definition: fs_ltvverifier.h:232
bool operator==(const Response &other) const
Equal operator.
Definition: fs_ltvverifier.h:97
Definition: fs_ltvverifier.h:137
RevocationArrayInfo & operator=(const RevocationArrayInfo &other)
Assign operator.
Definition: fs_ltvverifier.h:655
BYTE STRING CLASS.
Definition: fx_string.h:317
DateTime start_time
Start time of current time range.
Definition: fs_ltvverifier.h:215
~CertVerifyResult()
Destructor.
Definition: fs_ltvverifier.h:347
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:523
CRL response.
Definition: fs_ltvverifier.h:43
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:509
LTVState GetLTVState()
Get LTV state that indicates if a signature is a LTV signature.
CertIssuerPair()
Constructor.
Definition: fs_ltvverifier.h:549
Definition: fs_signature.h:99
Response()
Constructor.
Definition: fs_ltvverifier.h:62
bool is_trusted
Indicate if the certificate is truscted by user.
Definition: fs_ltvverifier.h:486
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...
LTVVerifier::TimeType GetSignatureCheckTimeType()
Get the type of the time that is actually used to check siganture.
String response_data
Response content.
Definition: fs_ltvverifier.h:133
bool is_ca
Indicate if the certificate is a CA certificate.
Definition: fs_ltvverifier.h:484
CertIssuerPair(const String &cert, const String &issuer)
Constructor, with parameters.
Definition: fs_ltvverifier.h:543
bool operator==(const char *str1, const CFX_ByteString &str2)
Check if two byte strings are equal.
Definition: fs_basictypes.h:128
void Set(ResponseType type, const String &response_data)
Set value.
Definition: fs_ltvverifier.h:121
CertIssuerPair(const CertIssuerPair &other)
Constructor, with another cert-issuer pair object.
Definition: fs_ltvverifier.h:559
CertVerifyResult & operator=(const CertVerifyResult &other)
Assign operator.
Definition: fs_ltvverifier.h:378
SignatureVerifyResultArray GetOCSPSigantureVerifyResults()
Get signature verify results for OCSP signature of each certificate.
SignatureVerifyResult GetTSTSignatureVerifyResult()
Get the verify result of time stamp token of this signature.
bool operator==(const SignatureVerifyResult &other) const
Equal operator.
CertVerifyResult()
Constructor.
Definition: fs_ltvverifier.h:337
String GetAt(size_t index) const
Retrieve a copy of the element at position specified by index in current array.
Foxit namespace.
Definition: fs_taggedpdf.h:27
CertVerifyResult(const CertVerifyResult &other)
Constructor, with another certificate verify result object.
Definition: fs_ltvverifier.h:354
virtual DateTime GetTSTTime(const String &signature_content)=0
A callback function used to get the time stamp token time from signature content.
CertStatus
Enumeration for certificate status.
Definition: fs_ltvverifier.h:228
Definition: fs_ltvverifier.h:720
Revocatoin reason: ceritifcate has no status.
Definition: fs_ltvverifier.h:246
void Set(const StringArray &ocsp_array, const StringArray &crl_array)
Set value.
Definition: fs_ltvverifier.h:703
virtual bool IsIssuerMatchCert(const CertIssuerPair &cert_issuer_pair)=0
A callback function used to check if an issuer matches a certificate.
bool operator!=(const char *str1, const CFX_ByteString &str2)
Check if two byte strings are not equal.
Definition: fs_basictypes.h:140
Definition: fs_ltvverifier.h:32
Definition: fs_ltvverifier.h:619
Header file for PDF document related definitions and classes.
RevocationReason reason
Revocation reason of the certificate. Please refer to values starting from CertVerifyResult::e_Reason...
Definition: fs_ltvverifier.h:504
Definition: fs_ltvverifier.h:535
Response(ResponseType type, const String &response_data)
Constructor, with parameters.
Definition: fs_ltvverifier.h:56
TimeRange & operator=(const TimeRange &other)
Assign operator.
Definition: fs_ltvverifier.h:173
~CertIssuerPair()
Destructor.
Definition: fs_ltvverifier.h:552
#define NULL
The null-pointer value.
Definition: fx_system.h:792
Revocatoin reason: privilege with drawn.
Definition: fs_ltvverifier.h:264
DateTime end_time
End time of current time range.
Definition: fs_ltvverifier.h:217
Response response
A response for the certificate.
Definition: fs_ltvverifier.h:488
This means LTV is enabled.
Definition: fs_ltvverifier.h:1182
Response information is found in signature content.
Definition: fs_ltvverifier.h:280
RevocationArrayInfo()
Constructor.
Definition: fs_ltvverifier.h:633
String GetSignatureName()
Get signature name.
Definition: fs_pdfdoc.h:776
DateTime revoke_time
Revoked time got from the response.
Definition: fs_ltvverifier.h:492
~Response()
Destructor.
Definition: fs_ltvverifier.h:65
StringArray ocsp_array
An array of OCSP response content.
Definition: fs_ltvverifier.h:709
Revocatoin reason: unspecified reason.
Definition: fs_ltvverifier.h:248
bool operator!=(const Response &other) const
Not equal operator.
Definition: fs_ltvverifier.h:108
bool operator!=(const CertVerifyResult &other) const
Not equal operator.
Definition: fs_ltvverifier.h:424
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...
bool exist_response_signature_vri_creation_time
Indicate if creation time of response signature's VRI exists.
Definition: fs_ltvverifier.h:518
uint32 GetSignatureState()
Get signature state.
CertIssuerPair & operator=(const CertIssuerPair &other)
Assign operator.
Definition: fs_ltvverifier.h:571
TimeType
Enumeration for time type.
Definition: fs_ltvverifier.h:996
Revocatoin reason: superseded.
Definition: fs_ltvverifier.h:256
ResponseInfoLocation response_info_location
Response information (as revocation information) location where certificate response can be found....
Definition: fs_ltvverifier.h:528
String issuer
An issuer of the certificate.
Definition: fs_ltvverifier.h:615
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:313
virtual DateTime GetDTSTime(const String &signature_content)=0
A callback function used to get the DTS (document time stamp signature) time from signature content.
RevocationArrayInfo(const StringArray &ocsp_array, const StringArray &crl_array)
Constructor, with parameters.
Definition: fs_ltvverifier.h:627
Revocatoin reason: cessation of operation.
Definition: fs_ltvverifier.h:258
RevocationArrayInfo(const RevocationArrayInfo &other)
Constructor, with another revocation array information object.
Definition: fs_ltvverifier.h:643
ResponseInfoLocation
Enumeration for response information location.
Definition: fs_ltvverifier.h:274
bool operator==(const TimeRange &other) const
Equal operator.
Definition: fs_ltvverifier.h:186
Definition: fs_ltvverifier.h:989
This means LTV is not enabled.
Definition: fs_ltvverifier.h:1184
bool operator==(const RevocationArrayInfo &other) const
Equal operator.
Definition: fs_ltvverifier.h:668
Location is not set.
Definition: fs_ltvverifier.h:276
FX_UINT32 uint32
32-bit unsigned integer.
Definition: fs_basictypes.h:195
bool operator!=(const RevocationArrayInfo &other) const
Not equal operator.
Definition: fs_ltvverifier.h:691
Definition: fs_basictypes.h:451
Revocatoin reason: AA compromise.
Definition: fs_ltvverifier.h:266
bool operator!=(const CertIssuerPair &other) const
Not equal operator.
Definition: fs_ltvverifier.h:595
virtual String GetTSTSignature(const String &signature_content)=0
A callback function used to get the time stamp token content from a signature content.
bool operator!=(const SignatureVerifyResult &other) const
Not equal operator.
ResponseType
Enumeration for response type.
Definition: fs_ltvverifier.h:39
Definition: fs_ltvverifier.h:221
OCSP response.
Definition: fs_ltvverifier.h:45
@2026 Foxit Software Incorporated. All rights reserved.