【问题标题】:Choosing an alias from a smartcard从智能卡中选择别名
【发布时间】:2014-08-12 13:18:16
【问题描述】:

我正在寻找一种方法来从智能卡中选择要使用的别名。我需要别名标识的密钥来签署我的 pdf 文档。我正在使用带有WINDOWS-MY 密钥库的实现。当我使用的智能卡上有多个别名及其私钥/公钥对时:

String alias = (String)ks.aliases().nextElement();

我使用WINDOWS-MY 密钥库中的第一个别名对我的文档进行了签名。我可以列出智能卡上的所有内容:

Enumeration enumeration = ks.aliases();
while(enumeration.hasMoreElements()) {
String a = (String)enumeration.nextElement();
System.out.println("alias name: " + a);}

并硬编码我想按名称使用的别名。但是有没有更好的方法来做到这一点?

【问题讨论】:

    标签: java itext digital-signature smartcard


    【解决方案1】:

    如果您只需要担心一种智能卡类型,您当然可以这样编程。

    为了使其更加动态/可靠,我将首先查看随附的证书。 例如,检查证书中的 key usage 是否表明私钥可用于签名。您还可以检查其他字段,例如证书的签名、颁发者和到期日期、撤销状态等。否则,您可能允许使用不应该用于您提供的服务类型的密钥进行签名。

    进行签名的人可能还想知道它正在使用正确的智能卡/证书/私钥进行签名。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多