我是Java Web应用程序编程的新手。用户需要在我的Web Spring应用程序中重新/上传PKCS #12
个证书(所有用户和每个应用程序实例的一个证书)。该证书用于签署我的应用程序发送给WS的SOAP消息(我需要使用此证书创建keystore
)。我创建了应用程序的业务层,现在我需要添加最终用户的Web功能。
我的问题是:
keystore
?在哪里放置密钥库以便KeyStoreFactoryBean
访问?这种情况的最佳做法是什么? 谢谢。
答案 0 :(得分:0)
请注意,PKCS#12
也是一个密钥库,但我建议提取密钥并将其包含在应用密钥库中,而不是直接使用该文件
使用主密钥库,您可以控制SOAP签名代码的位置,访问控制和配置。
而存储pkcs12文件有缺点:
PKCS#12文件需要存储密码才能解密。
直接在磁盘上存储文件通常会产生问题:权限,名称,访问控制等。
SOAP签名配置将与变量文件名复杂。例如,在已知的框架WSS4J中,配置是使用配置文件完成的。无法在运行时配置密钥库路径(可能已更改...)
上传的文件可能不在类路径中。使用类路径而不是绝对目录路径