我想使用iText在PDF中嵌入签名的哈希值和公共内容。
根据iText 7中sign方法的参数,我需要通过证书链,
如何直接从公钥字符串创建此证书对象?
更新1 下面是小的C#代码。您可以看到我正在尝试从公共密钥获取x509证书。该证书将用于验证来自相应私钥的签名数据。还将用于将该公共证书和签名的哈希值嵌入PDF以进行数字签名。
在下面的代码中,我得到如下错误
错误:
'DigiSignDemo.exe'(CLR v4.0.30319:DigiSignDemo.exe):已加载'C:\ Users \ xposs \ source \ repos \ DigiSignDemo \ bin \ Debug \ itext.forms.dll'。跳过的加载符号。模块已优化,调试器选项“ Just My Code”已启用。 引发异常:mscorlib.dll中的“ system.security.Cryptography.CryptographicException” mscorlib.dll中发生了类型为'system.security.Cryptography.CryptographicException'的未处理异常 找不到请求的对象。
public static readonly string publickey = @"-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuGhYfAvWxqIwsZsO1zUN
NyFT/3US7HGLXiW48NvYn2qNyn/9hm/BFWG901YoJAjlPTcNtMo1t8lUr2dRkc3l
8YyP8SetWKbznerQuXYBZZy31kp8u3Wj+zQSroZsFn69FoMAMWXqhkw9woFumINe
gw4sMtQ1S8CucX0uXJ4a2ElzoaUKp1M+MOCATDnmsXSyf/2/ERO71SpD+alDV2rE
m5DqvEnE0t27fm7PpNeCX0XEHRvx620LooGv1Co+0w5Au37sfSjOZp1B9V0n8KFR
6gLFY7mAZ1krZJscYgkNAPIz2QE6voBR8OVSHMnNcPH+0KLfGuNVHhaTyI4naPH+
0QIDAQAB
-----END PUBLIC KEY-----
";
public static system.security.Cryptography.X509Certificates.X509Certificate getPublicCertificate()
{
//Here below I am getting error
X509Certificate2 clientCertificate =
new X509Certificate2(Encoding.UTF8.GetBytes(publickey));
return clientCertificate;
}