嗨,我正在尝试防止需要签名的每个pdf出现多个图钉提示。

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

这部分代码获取过程时需要使用Pin:

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


有什么办法可以记住令牌的密码并在不提示输入密码的情况下唱剩下的pdf?

最佳答案

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

...
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上有官方文档。

10-04 11:58