首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用eID remember PIN码签名

使用eID remember PIN码签名
EN

Stack Overflow用户
提问于 2014-12-29 16:49:41
回答 2查看 389关注 0票数 0

我试图签署一系列(数千)的eID与比利时令牌,而只要求用户的个人识别码一次。将我的pin作为函数的参数是有问题的:

代码语言:javascript
复制
        Dim pin As String = "1234"
        Using pkcs11rsaSignature As Pkcs11RsaSignature = New Pkcs11RsaSignature(librarypath, tokenserial, tokenlabel, pin, ckalabel, ckaId, Net.Pkcs11Interop.PDF.HashAlgorithm.SHA1)
        Dim signingCertificate = pkcs11rsaSignature.GetSigningCertificate()
        Dim otherCertificates = pkcs11rsaSignature.GetAllCertificates()
        Dim certPath = CertUtils.BuildCertPath(signingCertificate, otherCertificates)

        Using pdfreader As PdfReader = New PdfReader(unsignedPdfPath)
            Using outputstream As FileStream = New FileStream(signedPdfPath, FileMode.Create)
                Using PdfStamper As PdfStamper = PdfStamper.CreateSignature(pdfreader, outputstream, "0"c, Path.GetTempFileName(), True)
                    MakeSignature.SignDetached(PdfStamper.SignatureAppearance, pkcs11rsaSignature, certPath, Nothing, Nothing, Nothing, 0, CryptoStandard.CADES)
                End Using
            End Using
        End Using
    End Using

我正在使用这个代码,但是得到了一个FormatException:找不到可识别的数字。我如何解决我的问题?

bdebaere

EN

回答 2

Stack Overflow用户

发布于 2014-12-29 19:19:58

您可以安全地重用Pkcs11RsaSignature类的单个实例来创建多个签名。看看签署100pdf文档的Pkcs11RsaSignatureReuseTest吧。

票数 0
EN

Stack Overflow用户

发布于 2015-04-12 15:06:59

由于法律要求,比利时的eID中间件会强制每个签名操作都使用PIN码对话框。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27685855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档