Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow to provide SslClientAuthenticationOptions when leveraging SslStream #213

Conversation

asaintsever
Copy link

It is currently not possible to tune the SSL client authentication options when connecting to a Memcached server with SSL in place.

One of my needs is to be able to provide custom certificate validation callbacks to the pooled socket object so that I can ignore certificate errors during some local tests for example (it is particularly the case when you want to connect to an Amazon ElastiCache for Memcached SSL cluster from your local machine through a SSH tunnel: you'll get errors because localhost does not match the hostname defined in the server certificate).

This PR introduces a new SslClientAuth property in MemcachedClientOptions class so that you can define such aspects.

Example of configuration with a callback to ignore certificate validation issues:

IOptions<MemcachedClientOptions> optionsAccessor = Options.Create(new MemcachedClientOptions
{
    UseSslStream = true,
    SslClientAuth = new SslClientAuthenticationOptions
    {
        TargetHost = "localhost",
        RemoteCertificateValidationCallback = new RemoteCertificateValidationCallback(
            (sender, certificate, chain, sslPolicyErrors) => true),
    },
    ...
});

Properties supported by SslClientAuthenticationOptions class are documented here:
https://learn.microsoft.com/en-us/dotnet/api/system.net.security.sslclientauthenticationoptions?view=net-8.0#properties

@cnblogs-dudu cnblogs-dudu merged commit b496c45 into cnblogs:main Feb 21, 2024
1 check failed
@cnblogs-dudu
Copy link

EnyimMemcachedCore 3.1.0 has been released for this PR.

cw-sanikachavan pushed a commit to carwale/EnyimMemcachedCore that referenced this pull request Jan 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants