【发布时间】: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