创建数字证书文件
PDF中的数字签名是指使用数字证书生成的安全电子签名,数字签名可以和密码同时使用。
密码是保护文档的,数字签名则可以确保文档是真的。
密码是有可能被破解的,如果你要确保你的文档是真实可靠的,最好使用数字签名,因为数字签名是没有可能被破解的。
PDFCreator能够对PDF文档进行数字签名,数字签名可确保文档是由签名者创建的,且自签名以来从未被修改过。
数字证书一般是由认证机构服务者签发,如果条件不许可,也可以在本地创建证书。
启动Windows自带的Power Shell,然后复制粘贴下面的代码运行,既可创建一个数字证书文件"C:\temp\YourCertificate.pfx",该证书文件的访问密码是"1234567",有效期为2年:
# 创建自签名证书
$cert = New-SelfSignedCertificate `
-Subject "CN=foxtable.com" `
-DnsName "foxtable.com", "www.foxtable.com" `
-KeyAlgorithm RSA `
-KeyLength 2048 `
-NotBefore (Get-Date) `
-NotAfter (Get-Date).AddYears(2) `
-CertStoreLocation "Cert:\CurrentUser\My" `
-KeyUsage DigitalSignature, KeyEncipherment `
-TextExtension
@("2.5.29.37={text}1.3.6.1.5.5.7.3.1") # 服务器身份验证
# 导出为PFX
$password = ConvertTo-SecureString -String "1234567" -Force -AsPlainText
Export-PfxCertificate `
-Cert $cert `
-FilePath "C:\temp\YourCertificate.pfx" `
-Password $password
生成证书后,在Foxtable的命令窗口执行下面的代码,可以查看证书信息:
Dim
x509
As
New
X509Certificate2("c:\temp\YourCertificate.pfx",
"1234567")
Output.Show(x509.ToString())
证书信息格式如下:
[Subject]
CN=foxtable.com
[Issuer]
CN=foxtable.com
[Serial Number]
15E0A624605E8D9F491BD21331A4BB87
[Not Before]
2025-06-02 17:43:17
[Not After]
2027-06-02 17:43:17
[Thumbprint]
D08B333789DEF195D9DF85E8C96C78DEC9F25D1E
提示:
证书信息中的[Thumbprint]为证书指纹,世界上不存在两个指纹相同的证书,所以我们可用指纹来验证签名的真假,前提是你得保管好你的证书文件,不能被第三方获取到。