我正在使用bouncycastle.openpgp库来获取PGP密钥的有效日期。如果key.getValidDays()== 0,可以假设PGP密钥永不过期。如何区分曾经有效和现已过期的密钥与永不过期的密钥?
答案 0 :(得分:1)
过期密钥将具有非零 getValidDays ,因为它们是相对于创建日期指定的,而不是当前的。
getValidDays
public int getValidDays()
Returns:
number of valid days from creation time - zero means no expiry.
即。你应该能够区分永不过期和有效/过期的密钥,使用如下代码:
if(key.getValidSeconds() == 0) {
//Never Expiring Key
} else if(Instant.now().isAfter(key.getCreationTime().toInstant().plusSeconds(key.getValidSeconds()))) {
//Expired Key
} else {
//Valid Key (has not expired yet)
}