区分过期和永不过期的 PGP 子密钥 - Java bouncycastle
Differentiate between PGP subkey that is expired vs one that never expires - Java bouncycastle
我正在使用 bouncycastle.openpgp 库来获取 PGP 密钥的有效日期。如果 key.getValidDays() == 0,则可以假定 PGP 密钥永不过期。如何区分曾经有效但现在已过期的密钥与永不过期的密钥?
一个过期的密钥,将有一个非零的 getValidDays,因为它们是相对于创建日期而不是当前日期指定的。
getValidDays
public int getValidDays()
Returns:
number of valid days from creation time - zero means no expiry.
即您应该能够区分永不过期和 valid/expired 键,使用如下代码:
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)
}
我正在使用 bouncycastle.openpgp 库来获取 PGP 密钥的有效日期。如果 key.getValidDays() == 0,则可以假定 PGP 密钥永不过期。如何区分曾经有效但现在已过期的密钥与永不过期的密钥?
一个过期的密钥,将有一个非零的 getValidDays,因为它们是相对于创建日期而不是当前日期指定的。
getValidDays
public int getValidDays()
Returns:
number of valid days from creation time - zero means no expiry.
即您应该能够区分永不过期和 valid/expired 键,使用如下代码:
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)
}