/// <summary>
/// Updates the validator with a new set of trust lists.
/// </summary>
public virtual void Update(
CertificateTrustList issuerStore,
CertificateTrustList trustedStore,
CertificateStoreIdentifier rejectedCertificateStore)
{
lock (m_lock)
{
m_validatedCertificates.Clear();
m_trustedCertificateStore = null;
m_trustedCertificateList = null;
if (trustedStore != null)
{
m_trustedCertificateStore = new CertificateStoreIdentifier();
m_trustedCertificateStore.StoreType = trustedStore.StoreType;
m_trustedCertificateStore.StorePath = trustedStore.StorePath;
m_trustedCertificateStore.ValidationOptions = trustedStore.ValidationOptions;
if (trustedStore.TrustedCertificates != null)
{
m_trustedCertificateList = new CertificateIdentifierCollection();
m_trustedCertificateList.AddRange(trustedStore.TrustedCertificates);
}
}
m_issuerCertificateStore = null;
m_issuerCertificateList = null;
if (issuerStore != null)
{
m_issuerCertificateStore = new CertificateStoreIdentifier();
m_issuerCertificateStore.StoreType = issuerStore.StoreType;
m_issuerCertificateStore.StorePath = issuerStore.StorePath;
m_issuerCertificateStore.ValidationOptions = issuerStore.ValidationOptions;
if (issuerStore.TrustedCertificates != null)
{
m_issuerCertificateList = new CertificateIdentifierCollection();
m_issuerCertificateList.AddRange(issuerStore.TrustedCertificates);
}
}
m_rejectedCertificateStore = null;
if (rejectedCertificateStore != null)
{
m_rejectedCertificateStore = (CertificateStoreIdentifier)rejectedCertificateStore.MemberwiseClone();
}
}
}