File: ICertificateValidationCache.cs
Web Access
Project: src\src\Security\Authentication\Certificate\src\Microsoft.AspNetCore.Authentication.Certificate.csproj (Microsoft.AspNetCore.Authentication.Certificate)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
 
using System.Security.Cryptography.X509Certificates;
using Microsoft.AspNetCore.Http;
 
namespace Microsoft.AspNetCore.Authentication.Certificate;
 
/// <summary>
/// Cache used to store <see cref="AuthenticateResult"/> results after the certificate has been validated
/// </summary>
public interface ICertificateValidationCache
{
    /// <summary>
    /// Get the <see cref="AuthenticateResult"/> for the connection and certificate.
    /// </summary>
    /// <param name="context">The <see cref="HttpContext"/>.</param>
    /// <param name="certificate">The certificate.</param>
    /// <returns>the <see cref="AuthenticateResult"/></returns>
    AuthenticateResult? Get(HttpContext context, X509Certificate2 certificate);
 
    /// <summary>
    /// Store a <see cref="AuthenticateResult"/> for the connection and certificate
    /// </summary>
    /// <param name="context">The <see cref="HttpContext"/>.</param>
    /// <param name="certificate">The certificate.</param>
    /// <param name="result">The <see cref="AuthenticateResult"/></param>
    void Put(HttpContext context, X509Certificate2 certificate, AuthenticateResult result);
}