14 #ifndef FS_LTVVERIFIER_H_ 15 #define FS_LTVVERIFIER_H_ 38 typedef enum _ResponseType {
108 return!(*
this == other);
197 return!(*
this == other);
227 typedef enum _CertStatus {
243 typedef enum _RevocationReason {
273 typedef enum _ResponseInfoLocation {
424 return!(*
this == other);
593 return!(*
this == other);
670 for (
size_t i = 0; i < ocsp_count; i++) {
674 for (
size_t i = 0; i < ocsp_count; i++) {
689 return!(*
this == other);
991 typedef enum _TimeType {
993 e_SignatureCreationTime = 0,
995 e_SignatureTSTTime = 1,
1002 e_VRICreationTime = 3
1010 typedef enum _VerifyMode {
1012 e_VerifyModeAcrobat = 1
1031 explicit LTVVerifier(
const PDFDoc& document,
bool is_verify_signature,
bool use_expired_tst,
1032 bool ignore_doc_info, TimeType time_type);
1064 bool operator != (
const LTVVerifier& other)
const;
1076 bool IsEmpty()
const;
1100 void SetVerifyMode(VerifyMode mode);
1172 typedef enum _LTVState {
1296 #endif // FS_LTVVERIFIER_H_ ResponseInfoLocation response_info_location
响应信息(作为撤销信息)的位置,可在此位置找到证书响应。 请参考从 CertVerifyResult::e_LocationNotSet 开始的值, 应为这些值之一。
Definition: fs_ltvverifier.h:525
表示证书状态未知。
Definition: fs_ltvverifier.h:235
bool operator !=(const Response &other) const
不相等运算符。
Definition: fs_ltvverifier.h:107
String cert
证书内容。
Definition: fs_ltvverifier.h:480
CertVerifyResultArray GetCertificateVerifyResults()
获取证书验证结果。
virtual DateTime GetDTSTime(const String &signature_content)=0
用于从签名内容中获取 DTS(文档时间戳签名)时间的回调函数。
bool IsEmpty() const
检查当前对象是否为空。
TimeRange response_effect_time_range
响应生效的时间范围。
Definition: fs_ltvverifier.h:489
撤销原因:密钥泄露。
Definition: fs_ltvverifier.h:249
响应信息在签名内容中找到。
Definition: fs_ltvverifier.h:279
void Set(const StringArray &ocsp_array, const StringArray &crl_array)
设置值。
Definition: fs_ltvverifier.h:700
virtual bool IsCertTrusted(const String &cert)=0
用于检查输入证书是否受信任的回调函数。
CFX_Object Object
对象类型。
Definition: fs_basictypes.h:221
表示证书已过期。
Definition: fs_ltvverifier.h:233
撤销原因:停止操作。
Definition: fs_ltvverifier.h:257
TimeRange(const DateTime &start_time, const DateTime &end_time)
带参数的构造函数。
Definition: fs_ltvverifier.h:144
bool operator==(const CertIssuerPair &other) const
相等运算符。
Definition: fs_ltvverifier.h:581
String cert
证书内容。
Definition: fs_ltvverifier.h:610
位置未设置。
Definition: fs_ltvverifier.h:275
TimeRange & operator=(const TimeRange &other)
赋值运算符。
Definition: fs_ltvverifier.h:172
表示证书有效。
Definition: fs_ltvverifier.h:229
virtual String GetOCSPSignature(const String &ocsp_data)=0
用于从 OCSP 响应中获取签名内容的回调函数。
无响应。
Definition: fs_ltvverifier.h:40
Definition: fs_basictypes.h:482
virtual bool IsCertTrustedRoot(const String &cert)=0
用于检查输入证书是否用作受信任根的回调函数。
bool operator==(const Response &other) const
相等运算符。
Definition: fs_ltvverifier.h:96
响应信息在 DSS 字典中找到。
Definition: fs_ltvverifier.h:277
撤销原因:已被替代。
Definition: fs_ltvverifier.h:255
CertStatus cert_status
证书状态。请参考从 CertVerifyResult::e_CertStatusValid 开始的值, 应为这些值之一。
Definition: fs_ltvverifier.h:496
CertIssuerPair(const String &cert, const String &issuer)
带参数的构造函数。
Definition: fs_ltvverifier.h:540
Definition: fs_ltvverifier.h:529
virtual String GetTSTSignature(const String &signature_content)=0
用于从签名内容中获取时间戳令牌内容的回调函数。
SignatureVerifyResultArray GetOCSPSigantureVerifyResults()
获取每个证书的 OCSP 签名的签名验证结果。
撤销原因:从 CRL 中移除。
Definition: fs_ltvverifier.h:261
RevocationReason
证书撤销原因枚举。
Definition: fs_ltvverifier.h:243
撤销原因:CA 泄露。
Definition: fs_ltvverifier.h:251
~TimeRange()
析构函数。
Definition: fs_ltvverifier.h:153
CertIssuerPair()
构造函数。
Definition: fs_ltvverifier.h:546
virtual void Release()=0
用于释放当前回调对象本身的回调函数。
响应信息通过在线请求获得。
Definition: fs_ltvverifier.h:281
表示证书已被撤销。
Definition: fs_ltvverifier.h:231
表示 LTV 已启用。
Definition: fs_ltvverifier.h:1176
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)
设置值。
Definition: fs_ltvverifier.h:456
virtual CertIssuerPair GetOCSPCertAndIssuer(const String &ocsp_data, const StringArray &trust_cert_chain)=0
用于获取 OCSP 响应的证书-颁发者对的回调函数。
撤销原因:证书暂停。
Definition: fs_ltvverifier.h:259
Definition: fs_ltvverifier.h:984
CertIssuerPair & operator=(const CertIssuerPair &other)
赋值运算符。
Definition: fs_ltvverifier.h:568
bool exist_signature_vri_creation_time
指示签名的 VRI 创建时间是否存在。
Definition: fs_ltvverifier.h:508
Definition: fs_ltvverifier.h:958
Response()
构造函数。
Definition: fs_ltvverifier.h:61
Definition: fs_pdfdoc.h:771
DateTime response_signature_vri_creation_time
响应签名的 VRI 创建时间。此时间对象的 utc_hour_offset 和 utc_minite_offset 被忽略。
Definition: fs_ltvverifier.h:520
virtual StringArray GetCertChainFromSignature(const String &signature_content)=0
用于从签名内容中获取证书链的回调函数。
bool operator==(const SignatureVerifyResult &other) const
相等运算符。
LTVState
LTV 状态枚举,指示签名是否为 LTV 签名。
Definition: fs_ltvverifier.h:1172
virtual CertVerifyResult VerifyCRL(const CertIssuerPair &cert_issuer_pair, const String &crl_data)=0
用于验证 CRL 响应是否与证书匹配并获取证书验证结果的回调函数。
DateTime GetSignatureCheckTime()
获取实际用于检查签名的时间。
bool is_trusted
指示证书是否被用户信任。
Definition: fs_ltvverifier.h:485
virtual DateTime GetTSTTime(const String &signature_content)=0
用于从签名内容中获取时间戳令牌时间的回调函数。
String GetSignatureName()
获取签名名称。
bool is_ca
指示证书是否为 CA 证书。
Definition: fs_ltvverifier.h:483
bool operator==(const char *str1, const CFX_ByteString &str2)
检查两个字节字符串是否相等。
Definition: fs_basictypes.h:128
Definition: fs_ltvverifier.h:927
ResponseType
响应类型枚举。
Definition: fs_ltvverifier.h:38
CRL 响应。
Definition: fs_ltvverifier.h:42
Definition: fs_ltvverifier.h:616
virtual RevocationArrayInfo GetRevocationInfoFromSignatureData(const String &signature_content)=0
用于从签名中获取撤销信息(数组类型)的回调函数。
virtual bool IsOCSPNeedCheck(const String &ocsp_data)=0
用于获取是否需要检查 OCSP 响应的标志的回调函数。
DateTime signature_vri_creation_time
签名的 VRI 创建时间。此时间对象的 utc_hour_offset 和 utc_minite_offset 被忽略。
Definition: fs_ltvverifier.h:513
Definition: fs_ltvverifier.h:31
bool operator==(const RevocationArrayInfo &other) const
相等运算符。
Definition: fs_ltvverifier.h:665
Definition: fs_ltvverifier.h:220
Definition: fs_ltvverifier.h:717
String response_data
响应内容。
Definition: fs_ltvverifier.h:132
RevocationArrayInfo()
构造函数。
Definition: fs_ltvverifier.h:630
bool operator !=(const RevocationArrayInfo &other) const
不相等运算符。
Definition: fs_ltvverifier.h:688
virtual DateTime GetOCSPProducedAtTime(const String &ocsp_data)=0
用于获取 OCSP 响应生成时间的回调函数。
~CertVerifyResult()
析构函数。
Definition: fs_ltvverifier.h:346
~Response()
析构函数。
Definition: fs_ltvverifier.h:64
StringArray ocsp_array
OCSP 响应内容数组。
Definition: fs_ltvverifier.h:706
RevocationArrayInfo(const StringArray &ocsp_array, const StringArray &crl_array)
带参数的构造函数。
Definition: fs_ltvverifier.h:624
TimeRange()
构造函数。
Definition: fs_ltvverifier.h:150
CertVerifyResult()
构造函数。
Definition: fs_ltvverifier.h:336
Response & operator=(const Response &other)
赋值运算符。
Definition: fs_ltvverifier.h:83
撤销原因:证书无状态。
Definition: fs_ltvverifier.h:245
virtual String GetCRLSignature(const String &crl_data)=0
用于从 CRL 响应中获取签名内容的回调函数。
CertVerifyResult(const CertVerifyResult &other)
带另一个证书验证结果对象的构造函数。
Definition: fs_ltvverifier.h:353
uint32 GetSignatureState()
获取签名状态。
CertStatus
证书状态枚举。
Definition: fs_ltvverifier.h:227
Response response
证书的响应。
Definition: fs_ltvverifier.h:487
DateTime revoke_time
从响应中获得的撤销时间。
Definition: fs_ltvverifier.h:491
Definition: fs_ltvverifier.h:136
表示 LTV 未启用。
Definition: fs_ltvverifier.h:1178
FX_UINT32 uint32
无符号 32 位整数。
Definition: fs_basictypes.h:196
String issuer
证书的颁发者。
Definition: fs_ltvverifier.h:612
void * FS_HANDLE
句柄类型。
Definition: fs_basictypes.h:214
virtual CertVerifyResult VerifyOCSP(const CertIssuerPair &cert_issuer_pair, const String &ocsp_data)=0
用于验证 OCSP 响应是否与证书匹配并获取证书验证结果的回调函数。
CertVerifyResult & operator=(const CertVerifyResult &other)
赋值运算符。
Definition: fs_ltvverifier.h:377
void Set(const String &cert, const String &issuer)
设置值。
Definition: fs_ltvverifier.h:604
DateTime cert_check_time
检查此证书有效性的实际时间。 此时间对象的 utc_hour_offset 和 utc_minite_offset 被忽略。
Definition: fs_ltvverifier.h:506
~CertIssuerPair()
析构函数。
Definition: fs_ltvverifier.h:549
bool operator !=(const CertIssuerPair &other) const
不相等运算符。
Definition: fs_ltvverifier.h:592
TimeRange(const TimeRange &other)
带另一个时间范围对象的构造函数。
Definition: fs_ltvverifier.h:160
Definition: fs_basictypes.h:449
Definition: fs_basictypes.h:230
size_t GetSize() const
获取当前数组中元素的大小。
撤销原因:附属关系发生变化。
Definition: fs_ltvverifier.h:253
void Set(ResponseType type, const String &response_data)
设置值。
Definition: fs_ltvverifier.h:120
void Set(const DateTime &start_time, const DateTime &end_time)
设置值。
Definition: fs_ltvverifier.h:208
撤销原因:未指定原因。
Definition: fs_ltvverifier.h:247
RevocationReason reason
证书的撤销原因。请参考从 CertVerifyResult::e_ReasonNoStatus 开始的值, 应为这些值之一。
Definition: fs_ltvverifier.h:501
virtual TimeRange GetCertValidTimeRange(const String &cert)=0
用于获取表示证书有效期的时间范围的回调函数。
Response(ResponseType type, const String &response_data)
带参数的构造函数。
Definition: fs_ltvverifier.h:55
OCSP 响应。
Definition: fs_ltvverifier.h:44
CertIssuerPair(const CertIssuerPair &other)
带另一个证书-颁发者对对象的构造函数。
Definition: fs_ltvverifier.h:556
RevocationArrayInfo(const RevocationArrayInfo &other)
带另一个撤销数组信息对象的构造函数。
Definition: fs_ltvverifier.h:640
String GetAt(size_t index) const
检索当前数组中由索引指定位置的元素副本。
TimeType
时间类型枚举。
Definition: fs_ltvverifier.h:991
Foxit命名空间。
Definition: fs_taggedpdf.h:27
bool operator==(const TimeRange &other) const
相等运算符。
Definition: fs_ltvverifier.h:185
bool operator !=(const TimeRange &other) const
不相等运算符。
Definition: fs_ltvverifier.h:196
LTVVerifier::TimeType GetSignatureCheckTimeType()
获取实际用于检查签名的时间类型。
字节字符串类
Definition: fx_string.h:317
String GetSignatureHashValue()
获取签名哈希值。
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)
带参数的构造函数。
Definition: fs_ltvverifier.h:312
Definition: fs_ltvverifier.h:974
ResponseType type
响应类型。请参考从 Response::e_TypeNone 开始的值, 应为这些值之一。
Definition: fs_ltvverifier.h:129
DateTime start_time
当前时间范围的开始时间。
Definition: fs_ltvverifier.h:214
virtual bool IsIssuerMatchCert(const CertIssuerPair &cert_issuer_pair)=0
用于检查颁发者是否与证书匹配的回调函数。
LTVState GetLTVState()
获取 LTV 状态,指示签名是否为 LTV 签名。
DateTime end_time
当前时间范围的结束时间。
Definition: fs_ltvverifier.h:216
Definition: fs_ltvverifier.h:532
Response(const Response &other)
带另一个响应对象的构造函数。
Definition: fs_ltvverifier.h:71
#define NULL
空指针值。
Definition: fx_system.h:792
Definition: fs_signature.h:99
virtual Response GetResponseOnLineForSingleCert(const CertIssuerPair &cert_issuer_pair)=0
用于在线获取证书响应的回调函数。
bool exist_response_signature_vri_creation_time
指示响应签名的 VRI 创建时间是否存在。
Definition: fs_ltvverifier.h:515
SignatureVerifyResult(const SignatureVerifyResult &other)
带另一个签名验证结果对象的构造函数。
RevocationArrayInfo & operator=(const RevocationArrayInfo &other)
赋值运算符。
Definition: fs_ltvverifier.h:652
bool operator !=(const CertVerifyResult &other) const
不相等运算符。
Definition: fs_ltvverifier.h:423
Definition: fs_ltvverifier.h:1165
StringArray crl_array
CRL 响应内容数组。
Definition: fs_ltvverifier.h:708
virtual StringArray GetCertificates()=0
检索可用于完成证书链的证书数组。
SignatureVerifyResult GetTSTSignatureVerifyResult()
获取此签名的时间戳令牌的验证结果。
撤销原因:特权被撤销。
Definition: fs_ltvverifier.h:263
ResponseInfoLocation
响应信息位置枚举。
Definition: fs_ltvverifier.h:273
bool operator !=(const SignatureVerifyResult &other) const
不相等运算符。
~RevocationArrayInfo()
析构函数。
Definition: fs_ltvverifier.h:633
bool operator==(const CertVerifyResult &other) const
相等运算符。
Definition: fs_ltvverifier.h:402
~SignatureVerifyResult()
析构函数。
virtual bool IsCA(const String &cert)=0
用于判断证书是否为 CA 证书的回调函数。
表示 LTV 未激活。
Definition: fs_ltvverifier.h:1174
撤销原因:AA 泄露。
Definition: fs_ltvverifier.h:265
SignatureVerifyResult & operator=(const SignatureVerifyResult &other)
赋值运算符。