我正在开发一个关于Java中的证书和数字签名的项目,但我无法理解以下情况。 创建签名时,文档的发送者和接收者证书有效。但是,当接收方收到文件时,发件人证书已经过期。这是有效的情况,所以接收者通常可以验证签名,或者他不能?
还有一个问题。使用什么不可否认密钥用法?
答案 0 :(得分:3)
即使证书已过期,数字签名仍将保持密码正确,但签名验证无效。
电子证书具有由证书颁发机构的政策建立的使用期限,超过该期限,私钥的使用不被视为安全。
为了在签名到期之后保留签名的有效性,可以在签名中加入时间戳或撤销证据(CRL,OCSP响应),以便可以在不必联系的情况下验证签名未来的CA.
还有一个问题。对于什么是使用不可否认密钥用法?
请阅读此X509: What's the difference between digital signature and non-repudiation
答案 1 :(得分:1)
我们需要有一些明确的概念:
1-A证书可以随时过期或被撤销,因此所有带有签名的文件都将无效。所有证书都有到期日。
1.1 - 为避免这种情况,通常需要使用标准XADES-T和TSA(时间戳)进行签名 Authority)必须验证并重新签名该文件。这会给你 长寿避免第一个问题 - >结束于AdES-A。
这只是一个线索,这个过程有更多的理论。
注意:时间戳不仅仅是一个时间戳,它可以包含在正常的签名中,它必须是设置此时间的邮票,证明您的签名在那一刻有效且他认可。
回答你的问题:是的,这是一个有效和正常的情况,你无法做任何事情(按标准方式),它不再有效。现在你可以通过TSA(信任,在西班牙我们有来自政府的@Firma)再次避免这种情况再次发生,并重新盖章你的有效文件。
使用什么不可否认密钥用法? 这是用来让你不能说你没有签署文件,一旦签署它是完整有效和合法的。要做到这一点,你必须签署一份标准证书(由一个官方实体给出),其中包含你最重要的信息,通常这是先生给出的(至少在西班牙),你必须带着你的认证文件去一个具体的地方( DNI或国家身份证号码)以获得您的证书。
西班牙语链接可能会有所帮助: https://www.sede.fnmt.gob.es/certificados/persona-fisica/obtener-certificado-software
http://firmaelectronica.gob.es/Home/Ciudadanos/Aplicaciones-Firma.html#arroba_firma
希望这会有所帮助。 感谢。
答案 2 :(得分:0)
证书可以在“已使用”和“已验证”之间过期或可以撤销。为避免这种情况,您可以在使用后立即对其进行验证。签署PDF文件时,这是PAdES LTV规范的一部分。