Сертификат в этом случае не используется для аутентификации сертификата в Elasticsearch, так как используется метод ClientCertificate
, но используется для безопасности транспортного уровня (TLS).
Сертификат TLS может бытьустанавливается с ServerCertificateValidationCallback
var pool = new SingleNodeConnectionPool(new Uri(configuration["Elastic:Endpoint"]));
var settings = new ConnectionSettings(pool)
.DefaultIndex(defaultIndex)
.BasicAuthentication("elastic", "<password>")
.ServerCertificateValidationCallback(
CertificateValidations.AuthorityPartOfChain(
new X509Certificate2(@"C:\git\server.p12", "PASSWORD"))
);
var client = new ElasticClient(settings);
В зависимости от того, как был сгенерирован сертификат, переданный в шлюз приложений, CertificateValidations
предлагает AuthorityPartOfChain
и AuthorityIsRoot
, в зависимости от того, настроен ли сертификат, с которым настроен клиентчасть цепочки или является корневым сертификатом соответственно.