Guides
数字签名
ComPDFKit_Tools 提供完整的数字签名工作流,包括签名域创建、数字证书管理、签名应用和签名验证。
签名工具栏
签名模式下的工具栏可通过 ToolbarConfig 控制显隐:
json
{
"toolbarConfig": {
"signatureToolbarVisible": true
}
}CSignatureToolBar 位于 com.compdfkit.tools.signature 包中,是签名模式的核心工具栏组件。
签名流程
1. 创建签名域
可通过表单模式创建签名域(signaturesFields),或直接使用已有 PDF 中的签名域。
2. 点击签名域
点击签名域后弹出签名类型选择:
- 电子签名:手写签名或图片签名
- 数字签名:使用数字证书签名
3. 数字证书签名
使用数字证书签名需要:
- 导入或创建证书
- 输入证书密码
- 应用签名
数字证书管理
创建证书
CertDigitalDatas 提供创建 PKCS12 (.p12/.pfx) 格式证书的功能:
java
// 证书保存路径
String certFilePath = context.getFilesDir() + "/certificates/my_cert.pfx";
// 证书信息
CertDigitalDatas certData = new CertDigitalDatas();
certData.setGrantor("Zhang San");
certData.setOrganization("My Company");
certData.setOrganizationUnit("Dev");
certData.setCountry("CN");
certData.setEmail("[email protected]");
certData.setPassword("123456");
certData.setCertUsage(CertUsage.CERT_USAGE_ALL);
// 创建证书
boolean success = certData.createCert(certFilePath);kotlin
val certFilePath = "${context.filesDir}/certificates/my_cert.pfx"
val certData = CertDigitalDatas().apply {
grantor = "Zhang San"
organization = "My Company"
organizationUnit = "Dev"
country = "CN"
email = "[email protected]"
password = "123456"
certUsage = CertUsage.CERT_USAGE_ALL
}
val success = certData.createCert(certFilePath)导入证书
支持导入 .p12 和 .pfx 格式的数字证书文件。
签名验证
签名后可验证文档中的数字签名是否有效:
| 组件 | 说明 |
|---|---|
CSignatureToolBar | 签名模式工具栏 |
CPDFDigitalSignatureEditFragment | 数字签名编辑 Fragment |
CPDFDigitalSignatureVerifyFragment | 数字签名验证 Fragment |
CertDigitalDatas | 证书数据模型和创建工具 |
CertificateDigitalDatasDialog | 证书信息查看对话框 |