У меня проблема с подключением MongoDB, который настроен с использованием SSL.У меня есть корпоративный сервер MongoDB в виртуальной машине Azure, который имеет следующую конфигурацию.
net:
bindIp: 0.0.0.0
port: 27017
ssl:
CAFile: 'C:\openssl-0.9.8h-1-bin\bin\rCA.pem'
PEMKeyFile: 'C:\openssl-0.9.8h-1-bin\bin\rser.pem'
allowConnectionsWithoutCertificates: false
allowInvalidHostnames: true
mode: requireSSL
storage:
dbPath: 'C:\data\db'
У меня есть пример C # для подключения mongodb с данными сертификата, переданными в виде байтового массива.
MongoClientSettings settings = new MongoClientSettings
{
Server = new MongoServerAddress("mongo_azure_host", 27017),
UseSsl = true,
RetryWrites = true
};
settings.VerifySslCertificate = false;
var SslCertificateData = FilePathHelper.ReadFile(Server, mySslClientCertificate);
var certificate = new X509Certificate2(SslCertificateData, "pwd");
settings.SslSettings = new SslSettings()
{
ClientCertificates = new[] { certificate }
};
}
MongoClient mongoClient = new MongoClient(settings);
mongoClient.GetServer().Connect();
Это нормально работает, если образец находится в моей локальной среде.Но если я публикую то же самое в веб-приложении Azure и попытаюсь подключиться, оно выдаст следующее исключение
system.componentmodel.win32exception: учетные данные, предоставленные для пакета, не были распознаны