package com.limegroup.gnutella.security; import org.limewire.inject.MutableProvider; import org.limewire.io.IpPort; /** * Provides valid a valid certificate and can also be updated with * newer valid certificates. */ public interface CertificateProvider extends MutableProvider<Certificate> { /** * Potentially blocks. * @returns NullCertificate if no valid certificate exists */ @Override Certificate get(); /** * Potentially blocks. */ @Override void set(Certificate newValue); /** * Tries to retrieve a certificate with a key version >= <code>keyVersion</code>. * <p> * Potentially blocks. * @returns NullCertificate if no valid certificate exists */ Certificate get(int keyVersion, IpPort messageSource); }