c# - 使用 itextsharp 签署多个 pdf,并且 token 每次都会提示输入 pin

标签 c# pdf itext smartcard pkcs#11

您好,我正在尝试阻止每个需要签名的 pdf 出现多个 PIN 提示。

我正在使用此 example 中的代码:

这部分代码获取过程中需要Pin:

MakeSignature.SignDetached(appearance, pks, chain, crlList, ocspClient, tsaClient, estimatedSize,
subfilter);

有什么方法可以记住 token pin 并唱出 pdf 的其余部分而不提示输入 pin 吗?

最佳答案

最后我找到了解决方案,这段代码可以解决问题:

...
RSACryptoServiceProvider rsa = (RSACryptoServiceProvider)pk.PrivateKey;

CspParameters cspp = new CspParameters();
cspp.KeyContainerName = rsa.CspKeyContainerInfo.KeyContainerName;
cspp.ProviderName = rsa.CspKeyContainerInfo.ProviderName;
// cspp.ProviderName = "Microsoft Smart Card Key Storage Provider";

cspp.ProviderType = rsa.CspKeyContainerInfo.ProviderType;

cspp.Flags = CspProviderFlags.NoPrompt;

RSACryptoServiceProvider rsa2 = new RSACryptoServiceProvider(cspp);

rsa.PersistKeyInCsp = true;
...
MakeSignature.SignDetached(...);

在签名之前创建CspParameters,记住 pin 码。 msdn 有官方文档.

关于c# - 使用 itextsharp 签署多个 pdf,并且 token 每次都会提示输入 pin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27523779/

相关文章:

c# - 弱引用已死

c# - 用于匹配字符串开头的正则表达式

c# - 负数模组正在融化我的大脑

c# - Application.ExecutablePath 是否会根据测试运行程序返回不同的值?

java - 使用java Itext获取字体颜色

c# - C# 的 DocuSign 和 PDF/ITextSharp 定位问题

node.js - Node.js 中是否有用于将 RTF 字符串转换为 PDF 文件的 npm 包?

ios - UIPrintPageRenderer 不使用 UIMarkupTextPrintFormatter 绘制任何内容

c# - 在 WPF C# 应用程序中将 XPS 转换为 PDF

itext - 如何在PDF中插入空行?