我是计算机安全的新手,我有一个基本问题我的回答是我无法找到的。
我有一个私钥,其有效期已过期。使用该密钥,我之前生成了一个.csr并将其发送给CA,他们给了我一张仍然有效的证书。
我的问题是,我可以(使用keytool或其他......)修改私钥的到期日期,以便将其与我的证书(.cer)一起使用。我可以重新生成一个用于此证书的私钥吗?
谢谢,
答案 0 :(得分:6)
keytool -genkeypair
不仅仅生成密钥对:它生成一对公钥和私钥,并将公钥包装到现场生成的自签名X.509证书中,并提供各种选项( -dname
,-validity
,...)。它将它们组合到您选择的别名中(私钥条目将关联私钥和证书,或者长度为1的证书链,确切地说)。
这些选项会影响此自签名X.509证书,而不会影响密钥对本身。
通常,如果您不想使用自签名证书,则可以根据此公钥和此自签名X.509证书的特征生成CSR(CSR的结构实际上非常类似于自签名证书,但它没有发行人或有效日期)。然后,CA会使用CSR颁发X.509证书(这次是由该CA签名)。
您打算将其再次导入该别名,以便能够将证书与其私钥一起使用。如果您的自签名证书(或与此私钥匹配的旧证书)已过期,请重新导入仍然有效的证书。
事实上,如果有中间证书,您不仅应该导入该证书,还应该导入证书链(请参阅this question和this question)。
如果您的.cer
文件是DER格式(二进制)而不是PEM格式(DER格式的base64编码),您可以使用openssl x509 -inform DER -in mycert.cer -outform PEM -out mycert.crt
将其转换为PEM并使用结果构建链并导入它。
答案 1 :(得分:4)
没有
有效期在证书中,而不是私钥。无法修改证书,并且唯一可以生成有效证书的实体是证书颁发机构。
您必须支付新证书。证书过期是一种安全措施,也是获得定期客户的一种方式。