Hi there,
I have doubts regarding the cache handling in XKMS.
It seems once a certificate for IssuerSerial is found in the cache, it
never checks the XKMS Service (LDAP, etc.) ever again, because the cache
never expires.
class: XkmsCryptoProvider
package: org.apache.cxf.xkms.crypto.impl
private X509Certificate[] getX509CertificatesInternal(CryptoType
cryptoType) {
...
String key = getKeyForIssuerSerial(cryptoType.getIssuer(),
cryptoType.getSerial());
// Try local cache next
if (xkmsClientCache != null) {
XKMSCacheToken cachedToken = xkmsClientCache.get(key);
if (cachedToken != null && cachedToken.getX509Certificate()
!= null) {
*return* new X509Certificate[]
{cachedToken.getX509Certificate()};
}
}
...
// Now ask the XKMS Service
...
}
cheers,
F.