Foxit PDF SDK

Public 类型 | Public 成员函数 | 所有成员列表
foxit::pdf::LTVVerifier类 参考
类 foxit::pdf::LTVVerifier 继承关系图:

## Public 类型
enum | TimeType { e_SignatureCreationTime = 0, e_SignatureTSTTime = 1, e_CurrentTime = 2, e_VRICreationTime = 3 }
| 时间类型枚举。 更多...
enum | VerifyMode { e_VerifyModeAcrobat = 1 }
| 验证模式枚举。 更多...

## Public 成员函数
| LTVVerifier (const LTVVerifier &other)
| 带另一个 LTV 验证器对象的构造函数。 更多...
| LTVVerifier (const PDFDoc &document, bool is_verify_signature, bool use_expired_tst, bool ignore_doc_info, TimeType time_type)
| 带参数的构造函数。 更多...
| ~LTVVerifier ()
| 析构函数。
void | AddDSS (const SignatureVerifyResult &signature_verify_result)
| 将签名的验证结果（作为 VRI 信息）添加到 DSS 中。 更多...
bool | IsEmpty () const
| 检查当前对象是否为空。 更多...
bool | operator!= (const LTVVerifier &other) const
| 不相等运算符。 更多...
LTVVerifier & | operator= (const LTVVerifier &other)
| 赋值运算符。 更多...
bool | operator== (const LTVVerifier &other) const
| 相等运算符。 更多...
void | SetCertChainResolverCallback (CertChainResolverCallback *callback)
| 如果用户想要提供额外证书以完成证书链，请设置自定义的 pdf::CertChainResolverCallback 对象。 更多...
void | SetRevocationCallback (RevocationCallback *callback)
| 设置自定义的 pdf::RevocationCallback 对象。 更多...
void | SetTrustedCertStoreCallback (TrustedCertStoreCallback *callback)
| 如果用户想要信任某些证书，请设置自定义的 pdf::TrustedCertStoreCallback 对象。 更多...
void | SetVerifyMode (VerifyMode mode)
| 设置验证模式以指定要使用的验证过程。 更多...
SignatureVerifyResultArray | Verify ()
| 验证用于构造当前对象的 PDF 文档中的所有签名。 更多...
SignatureVerifyResultArray | VerifySignature (const Signature &signature)
| 验证用于构造当前对象的 PDF 文档中的目标签名。 更多...
Public 成员函数 继承自 foxit::Base
FS_HANDLE | Handle () const
| 获取当前对象的句柄。 更多...

## 详细描述

LTV 验证器用于在 LTV 工作流中验证签名。 在使用此类验证签名之前，请确保已通过函数 LTVVerifier::SetVerifyMode 设置了验证模式。
Foxit PDF SDK 为 LTV 验证器提供了默认的撤销回调。如果用户想要使用 自定义撤销回调，请参考函数 LTVVerifier::SetRevocationCallback。
如果用户想要信任某些证书，请参考函数 LTVVerifier::SetTrustedCertStoreCallback。

## 成员枚举类型说明

## ◆ TimeType

enum foxit::pdf::LTVVerifier::TimeType

时间类型枚举。

此枚举的值应单独使用。

枚举值
e_SignatureCreationTime | 使用签名创建时间。
e_SignatureTSTTime | 使用签名时间戳令牌的时间。
e_CurrentTime | 使用当前时间。
e_VRICreationTime | 使用签名的 VRI 字典的创建时间。 注解 VRI 表示“验证相关信息”。

## ◆ VerifyMode

enum foxit::pdf::LTVVerifier::VerifyMode

验证模式枚举。

此枚举的值应单独使用。

枚举值
e_VerifyModeAcrobat | 使用 Acrobat 验证过程。

## 构造及析构函数说明

## ◆ LTVVerifier() [1/2]

foxit::pdf::LTVVerifier::LTVVerifier | ( | const PDFDoc & | document,
|  | bool | is_verify_signature,
|  | bool | use_expired_tst,
|  | bool | ignore_doc_info,
|  | TimeType | time_type
| ) |  |
| explicit

带参数的构造函数。

参数

  [in] | document | 有效的 PDF 文档对象。
  [in] | is_verify_signature | （仅适用于 LTVVerifier::e_VerifyModeAcrobat） 用于决定在验证签名时是否验证签名有效性。
  [in] | use_expired_tst | （仅适用于 LTVVerifier::e_VerifyModeAcrobat） 用于决定是否使用已过期的 TST 来验证签名。
  [in] | ignore_doc_info | （仅适用于 LTVVerifier::e_VerifyModeAcrobat） 用于决定是否忽略 DSS 和签名中的撤销信息。
  [in] | time_type | （仅适用于 LTVVerifier::e_VerifyModeAcrobat） 用于指定期望用于验证的时间类型。 请参考从 LTVVerifier::e_SignatureCreationTime 开始的值， 应为这些值之一，但不包括 LTVVerifier::e_VRICreationTime。

## ◆ LTVVerifier() [2/2]

foxit::pdf::LTVVerifier::LTVVerifier | ( | const LTVVerifier & | other | ) |

带另一个 LTV 验证器对象的构造函数。

参数

  [in] | other | 另一个 LTV 验证器对象。

## 成员函数说明

## ◆ AddDSS()

void foxit::pdf::LTVVerifier::AddDSS | ( | const SignatureVerifyResult & | signature_verify_result | ) |

将签名的验证结果（作为 VRI 信息）添加到 DSS 中。

参数

  [in] | signature_verify_result | 要添加到 DSS 的签名验证结果。

返回
  无。

## ◆ IsEmpty()

bool foxit::pdf::LTVVerifier::IsEmpty | ( |  | ) | const

检查当前对象是否为空。

当当前对象为空时，表示当前对象无用。

返回
  true 表示当前对象为空，false 表示不为空。

## ◆ operator!=()

bool foxit::pdf::LTVVerifier::operator!= | ( | const LTVVerifier & | other | ) | const

不相等运算符。

参数

  [in] | other | 另一个 LTV 验证器对象。此函数将检查当前对象是否与此对象不相等。

返回
  true 表示不相等，false 表示相等。

## ◆ operator=()

LTVVerifier& foxit::pdf::LTVVerifier::operator= | ( | const LTVVerifier & | other | ) |

赋值运算符。

参数

  [in] | other | 另一个 LTV 验证器对象，其值将被赋给当前对象。

返回
  当前对象的引用。

## ◆ operator==()

bool foxit::pdf::LTVVerifier::operator== | ( | const LTVVerifier & | other | ) | const

相等运算符。

参数

  [in] | other | 另一个 LTV 验证器对象。此函数将检查当前对象是否与此对象相等。

返回
  true 表示相等，false 表示不相等。

## ◆ SetCertChainResolverCallback()

void foxit::pdf::LTVVerifier::SetCertChainResolverCallback | ( | CertChainResolverCallback * | callback | ) |

如果用户想要提供额外证书以完成证书链，请设置自定义的 pdf::CertChainResolverCallback 对象。

参数

  [in] | callback | 自定义证书链解析器回调对象，基于回调类 pdf::CertChainResolverCallback 实现。 此参数可以设置为 NULL，表示不使用它。

返回
  无。

注解
  仅在使用 Foxit PDF SDK 的默认内部撤销回调时可用。

## ◆ SetRevocationCallback()

void foxit::pdf::LTVVerifier::SetRevocationCallback | ( | RevocationCallback * | callback | ) |

设置自定义的 pdf::RevocationCallback 对象。

如果未通过此函数设置自定义撤销回调，Foxit PDF SDK 将使用默认回调。

参数

  [in] | callback | 自定义撤销回调对象，基于回调类 pdf::RevocationCallback 实现。 此参数不应为 NULL。

返回
  无。

## ◆ SetTrustedCertStoreCallback()

void foxit::pdf::LTVVerifier::SetTrustedCertStoreCallback | ( | TrustedCertStoreCallback * | callback | ) |

如果用户想要信任某些证书，请设置自定义的 pdf::TrustedCertStoreCallback 对象。

如果未通过此函数设置受信任证书存储回调对象，在验证过程中将不信任任何证书。

参数

  [in] | callback | 自定义受信任证书存储回调对象，基于回调类 pdf::TrustedCertStoreCallback 实现。 此参数可以设置为 NULL，表示不使用它。

## ◆ SetVerifyMode()

void foxit::pdf::LTVVerifier::SetVerifyMode | ( | VerifyMode | mode | ) |

设置验证模式以指定要使用的验证过程。

请确保在进行验证之前设置验证模式。

参数

  [in] | mode | 用于快速验证过程的验证模式。请参考从 LTVVerifier::e_VerifyModeAcrobat 开始的值，应为这些值之一。

返回
  无。

## ◆ Verify()

SignatureVerifyResultArray foxit::pdf::LTVVerifier::Verify | ( |  | ) |

验证用于构造当前对象的 PDF 文档中的所有签名。

如果验证模式不是 LTVVerifier::e_VerifyModeAcrobat，当无法验证任何签名时， 验证过程将立即停止，并仅返回成功验证的签名的验证结果。 如果验证模式是 LTVVerifier::e_VerifyModeAcrobat，将验证所有签名 并返回所有签名的验证结果。

返回
  签名验证结果数组。

## ◆ VerifySignature()

SignatureVerifyResultArray foxit::pdf::LTVVerifier::VerifySignature | ( | const Signature & | signature | ) |

验证用于构造当前对象的 PDF 文档中的目标签名。

参数

  [in] | signature | 要验证的目标签名。 如果验证模式是 LTVVerifier::e_VerifyModeAcrobat，此函数将 验证直到目标签名的签名。 如果验证模式不是 LTVVerifier::e_VerifyModeAcrobat，此函数将 仅验证目标签名。

返回
  签名验证结果数组。