我需要使用客户端的公钥来加密文档。我可以从他们的网站上获得客户证书。我的问题是我的应用程序应如何访问此证书?
我还需要验证此证书并使用CRL。 我的应用程序使用最新的Spring版本。
由于
答案 0 :(得分:1)
您应该每次下载证书(如果可用)。但您还需要每次都验证证书并进行完整的链验证Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile(第71页,第6章:证书路径验证),包括CRL和/或OCSP。
如果您没有下载证书,您怎么知道它已经改变了?证书不仅会在过期时更改。
使用混合加密方案进行文档加密。
<强>更新强>
你能说出你的意思吗?“证书不仅会在过期后改变吗?”?还有什么可以改变,它有什么关系?
我的意思是您每次访问该服务时都需要检查证书。一个快速而肮脏的解决方案是下载证书一次,查找到期日期,并且只有在过期日期过后才重新检查证书。但这对公钥基础设施系统来说将是毁灭性的。我们的想法是每次访问某些服务时都要检查证书。证书可能在到期日之前发生变化,这可能有原因。
出于某些原因,请参阅提供的链接RFC 5280 on page 69:
CRLReason ::= ENUMERATED {
unspecified (0),
keyCompromise (1),
cACompromise (2),
affiliationChanged (3),
superseded (4),
cessationOfOperation (5),
certificateHold (6),
-- value 7 is not used
removeFromCRL (8),
privilegeWithdrawn (9),
aACompromise (10) }