文本数字签名使用javax.smartcardio



我正在尝试用比利时eId智能卡签署pdf。我已经安装了Eclipse,下载了Java SDK 1.6,将文本5.4.5 jar smardcardsign-1.0 jar作为外部jar添加到构建路径中。

我想测试布鲁诺白皮书"PDF文档的数字签名"中的示例"4.6签名字符串进行身份验证"。

我从文本下载站点复制了C4_05_SignWithBEID.java文件。

我有一个错误"AUTHN_CERT_FILE_ID无法解决或不是一个字段"

为行X509Certificate cert = card.readCertificate(BeIDCertificates.AUTHN_CERT_FILE_ID);

当我检查类BeIdCertificates的属性时,"AUTHN_CERT_FILE_ID"不可用。

是否有人提供了使用EidSignature类的示例4.8签名文档的完整源代码?

请不要在没有阅读我所写的书的情况下复制/粘贴我所写的例子,在这种情况下,免费电子书"PDF文档的数字签名"

您提到的示例取自该书的第4.2.2节,题为"使用smartcardsign从比利时eID中提取数据"。

请允许我引用自己的话(第105页):

我们可以使用javax.smartcardio API访问任何智能卡,但是不幸的是,事情通常没那么简单。每一张牌都有它自己的特点文件结构,自己的应用程序,自己的数据定义,等等上。除了ISO/IEC规范之外,您还需要您要使用的卡的规格。我写了一个小的类库,将泛型Java API类包装在对象中,例如CardReaders, SmartCardSmartCardWithKey。我写了一篇特别的类,命名为BeIDCard。你可以找到这个图书馆在SourceForge上。它是一个轻量级的库只支持基本功能

您可以在脚注中找到该库的链接:http://sourceforge.net/projects/smartcardsign/

BeIDCertificates是这个库的一部分,它有一个名为AUTHN_CERT_FILE_ID的常量。

最新更新