【问题标题】:Digital signing without password无密码数字签名
【发布时间】:2011-07-25 15:27:58
【问题描述】:

我必须编写一个用于数字签名的实用程序。我已经使用以下示例代码完成了。

KeyStore ks = KeyStore.getInstance(KeyStoreType);
ks.load(new java.io.FileInputStream(pfxPath), password.toCharArray());

现在的问题/要求是,PFX 所有者还没有准备好共享密码,我也不想每次都加载 PFX 文件,因为我假设每秒有数千次点击。

我的问题是,有什么方法可以让我创建一些密钥库(或证书数据库或其他东西),让 PFX 所有者第一次输入密码,然后我可以进一步使用这个密钥库进行签名。

【问题讨论】:

  • 在程序启动时(或第一次使用)执行此代码一次,然后重复使用相同的密钥库有什么问题?
  • 代码没有问题。我的示例代码可以签署任何数据。但每次我需要提供 PFX 文件及其密码。如果我将其设为静态 KS,那么我必须在启动时提供密码。但我正在制作基于网络的应用程序。我将如何在那里第一次传递密码?
  • 您的应用程序在什么基础设施上运行?如果您使用的是 servlet,您可以传递一个 init-param? link

标签: java cryptography digital-signature


【解决方案1】:

您可以开发一个独立的代码,该代码可以生成具有 KS 对象的序列化文件。您的客户可以在他的机器上传递他的密码。这样就没有风险了。

您可以反序列化应用程序中的文件内容以供进一步使用。

【讨论】:

  • 阅读您的回答后,我又想到了一个想法,如果我的独立应用程序创建密钥库并且我在我的代码中使用该密钥库怎么办。在这种情况下不需要序列化/反序列化。
猜你喜欢
  • 2020-07-26
  • 2019-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-25
  • 1970-01-01
相关资源
最近更新 更多