CreateSelfSignedCertificateA
安全和签名
描述
末尾的 A 表示 ANSI(char)DLL 入口点,ActiveX/COM 接口仅公开 Unicode 形式。其行为与 CreateSelfSignedCertificate 相同,字符串参数会按照当前的 SetAnsiMode 代码页进行解释
创建带 SHA-256 签名的自签名 RSA 证书,并将其(含私钥)导出到受密码保护的 PFX 文件,生成的 PFX 可直接与 SignFile、SetSignProcessPFXFromFile 和其他基于 PFX 的签名入口点配合使用,因此无需从外部颁发机构取得证书即可开发和测试签名工作流程
证书在临时密钥容器中生成,导出后会再次删除;只有 PFX 文件保留密钥材料。自签名证书适用于测试和内部文档:除非用户显式安装,否则 PDF 查看器会将其标记为不受信任
语法
Delphi
Function DLCreateSelfSignedCertificateA(InstanceID: Integer; SubjectName, PFXFileName, PFXPassword: PAnsiChar; ValidDays, KeyBits: Integer): Integer;
DLL
int DLCreateSelfSignedCertificateA(int InstanceID, const char * SubjectName, const char * PFXFileName, const char * PFXPassword, int ValidDays, int KeyBits);
参数
| SubjectName | X.500 字符串形式的证书主题,例如 "CN=Alice Signer, O=Example Corp",没有 "=" 的裸名称会自动添加 "CN=" 前缀 |
|---|---|
| PFXFileName | 要写入的 PFX(PKCS#12)文件路径 |
| PFXPassword | 保护导出 PFX 文件的密码 |
| ValidDays | 从现在起算的有效期天数,低于 1 的值默认使用 365 |
| KeyBits | 以位为单位的 RSA 密钥长度;1024..16384 以外的值默认使用 2048 |
返回值
| 0 | 无法创建证书(主题或文件名为空,或 Windows CryptoAPI 失败) |
|---|---|
| 1 | Success |