我正在一个项目中开发一个选项,该选项使用 X509Certificate 加密一些数据。本项目使用 Spring Boot。我使用 BouncyCastle 库进行加密。
要加密数据,我必须从某个服务器下载收件人的证书。这很简单,我使用 Apache HttpClient。但是频繁的下载会给服务器带来很大的负担,所以我想缓存这个证书。
我有两种方法:
public X509Certificate getFromServer() {
// do some actions...
}
此方法从服务器下载证书
public boolean isRevoked(X509Certificate cert) {
// do some actions...
}
此方法检查证书是否已被吊销。
我的目标是缓存getFromServer方法。我需要设置缓存驱逐策略,即:
- 如果证书已过期,则驱逐证书。
- 如果证书已被吊销,则驱逐证书。
谁能帮我?