使用itextsharp对多个pdf进行签名,并且每次都会提示令牌

时间:2014-12-17 10:47:05

标签: c# pdf itextsharp smartcard pkcs#11

您好我正在尝试阻止需要签名的每个pdf的多个引脚提示。

我正在使用此example的代码:

这部分代码进入过程时需要Pin:

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

有没有办法记住令牌引脚并在不提示引脚的情况下唱出其他pdf文件?

1 个答案:

答案 0 :(得分:4)

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

...
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,记住密码。 msdn上有官方文件。