Provides a simple API to add, remove or retrieve bindings between a https port and a SSL certificate. This library can be considered as a programmatic alternative to Windows command line tools 'netsh http show|add|delete sslcert' or 'httpcfg query|set|delete ssl'. Note, the library works on the Windows platform only.
$ dotnet add package SslCertBinding.NetSslCertBinding.Net is a library for .NET and Windows and provides a simple API to add, remove or retrieve bindings between a https port and a SSL certificate.
This library can be considered as a programmatic alternative to Windows command line tools netsh http show|add|delete sslcert or httpcfg query|set|delete ssl.
Important: The library uses the Win32 API and works on the Windows platform only.
To get started, add the SslCertBinding.Net NuGet package to your project by running the following command:
dotnet add package SslCertBinding.NetYou can add, update or delete a SSL certificate binding by using the CertificateBindingConfiguration class as shown below:
var config = new CertificateBindingConfiguration();
var ipPort = new IPEndPoint(IPAddress.Parse("0.0.0.0"), 443);
var certificateThumbprint = "372680E4AEC4A57CAE698307347C65D3CE38AF60";
var appId = Guid.Parse("214124cd-d05b-4309-9af9-9caa44b2b74a");
// add a new binding record
config.Bind( new CertificateBinding(certificateThumbprint, StoreName.My, ipPort, appId) );
// get the binding record
var certificateBinding = config.Query(ipPort)[0];
// set an option and update the binding record
certificateBinding.Options.DoNotVerifyCertificateRevocation = true;
config.Bind(certificateBinding);
// remove the binding record
config.Delete(ipPort);Cerificates configuration needs elevated permissions. Run Visual Studio as an Administrator before running unit tests.
Make sure that you have installed your certificate properly, certificate has a private key, your private key store is not broken, etc. Try binding your certificate with netsh CLI tool. If you get the same error it should not be a bug in SslCertBinding.Net.