Skip to content
DemoAPI 参考文档FAQ

PDF 生成模板编辑器

开源可视化 PDF 生成引擎,支持自定义模板,并提供面向开发者的 API,灵活构建文档生成流程。

查看 GitHub
React Native Guides Certificate management

证书管理 ​

签署 PDF 前,准备包含私钥的 PKCS#12 文件(.p12 或 .pfx)及密码。以下静态接口由 ComPDFKit 提供,使用前应完成 SDK 许可证初始化。

生成证书 ​

ts
import { ComPDFKit, CPDFCertificateUsage }
  from '@compdfkit_pdf_sdk/react_native';

async function createCertificate(outputPath: string, password: string) {
  const success = await ComPDFKit.generatePkcs12Certificate({
    subject: { commonName: 'Document Signer',
      organization: 'Example Company', country: 'CN' },
    password, outputPath,
    usage: CPDFCertificateUsage.DIGITAL_SIGNATURE,
  });
  if (!success) throw new Error('生成证书失败');
}

commonName、非空密码和输出路径为必填项。父目录必须存在且可写;可选主题字段包括 state、locality、organizationalUnit 和 email。usage 可使用 DIGITAL_SIGNATURE、DATA_ENCRYPTION 或 ALL,默认用于数字签名。

生成的证书适合测试或由应用管理的签署流程。需要接收方认可的身份时,应按业务要求使用受信任机构签发的证书。

校验密码与读取信息 ​

ts
import { ComPDFKit } from '@compdfkit_pdf_sdk/react_native';

async function readCertificate(path: string, password: string) {
  if (!await ComPDFKit.checkPkcs12CertificatePassword(path, password)) {
    throw new Error('证书密码校验失败');
  }
  const info = await ComPDFKit.loadPkcs12Certificate(path, password);
  if (info === null) throw new Error('读取证书失败');
  return info;
}

返回的 CPDFCertificateInfo 包括主题、颁发者、有效期、序列号、密钥类型、签名算法、摘要及 isTrusted、isExpired。部分信息可能缺失,应按可选字段处理,不输出证书密码或私钥到日志。

添加可信证书 ​

ts
import { ComPDFKit } from '@compdfkit_pdf_sdk/react_native';

async function trustCertificate(certificatePath: string, password: string) {
  const success = await ComPDFKit.addTrustedCertificate(certificatePath, password);
  if (!success) throw new Error('添加可信证书失败');
}

使用可访问的本地 PKCS#12 证书路径及密码。此操作影响应用内 SDK 的验证信任,不会使其他设备或接收方自动信任该证书。各接口可能返回 false、null 或拒绝 Promise,需分别处理。