Mds.Libraries.CSharp.Tools 2.1.0.17633-beta.146636
Mds.Libraries.CSharp.Tools
Пакет с общими средствами для разработки.
Содержит набор инструментов для разработки:
- хелпер для работы с сертификатами;
Сервис для работы с сертификатами
Для работы сертификатами используется интерфейс ICertificateHelpers.
Подключение
// Autofac
builder.AddCertificateHelpers();
// DependencyInjection
services.AddCertificateHelpers();
Использование
Основное назначение ICertificateHelpers для работы с сертификатами и проверки удаленных TLS сертификатов.
Например, проверка удаленных сертификатов для Managed баз данных.
Необходимо использовать Singleton обработчик (например, ICertificateManager), в котором будет вызван ICertificateHelpers.
Использование обработчика гарантирует нормальное кеширование ISerrviceProvider внутри DbContext.
public class SqlContext: DbContext
{
// ...
private readonly ICertificateManager _manager = /*...*/;
// ...
public SqlContext(ICertificateManager manager)
{
_manager = manager;
}
// ...
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
base.OnConfiguring(optionsBuilder);
optionsBuilder.UseNpgsql(_connectionString, builder =>
{
if (default == _credentials)
{
return;
}
builder.RemoteCertificateValidationCallback(_manager.CertificateValidationCallback);
});
}
// ...
}
Выносим проверку сертификата в отдельный класс.
public interface ICertificateManager
{
bool CertificateValidationCallback(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors);
}
internal class CertificateManager: ICertificateManager
{
private readonly ICertificateHelpers _certificateHelpers;
public CertificateManager(ICertificateHelpers certificateHelpers)
{
_certificateHelpers = certificateHelpers;
}
#region ICertificateManager
bool ICertificateManager.CertificateValidationCallback(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
var path = /*...*/;
var password = /*...*/;
return _certificateHelpers.CheckCertificate(path, password, chain, sslPolicyErrors);
}
#endregion ICertificateManager
}
Не забываем разрегать ьнаш сервис в DI. Обязательно AddSingleton.
IServiceCollection services = /*...*/;
services.AddSingleton<ICertificateManager, CertificateManager>();
Showing the top 20 packages that depend on Mds.Libraries.CSharp.Tools.
| Packages | Downloads |
|---|---|
|
Mds.Libraries.CSharp.Extensions
Пакет с расширениями стандартных типов.
|
1 |
|
Mds.Libraries.CSharp.Extensions
Пакет с расширениями стандартных типов.
|
2 |
|
Mds.Libraries.CSharp.Extensions
Пакет с расширениями стандартных типов.
|
3 |
|
Mds.Libraries.CSharp.Server
Package with tools for server from MedvedStudio.
|
1 |
|
Mds.Libraries.CSharp.Server
Package with tools for server from MedvedStudio.
|
3 |
.NET 7.0
- Autofac (>= 7.0.1)
- Microsoft.Extensions.DependencyInjection (>= 7.0.0)
| Version | Downloads | Last updated |
|---|---|---|
| 2.1.0.17633-beta.146636 | 1 | 02/28/2026 |
| 2.1.0 | 1 | 02/28/2026 |
| 2.0.1 | 1 | 02/28/2026 |
| 2.0.1-beta.141976 | 1 | 02/28/2026 |
| 2.0.0 | 3 | 02/28/2026 |
| 1.1.1 | 1 | 02/28/2026 |
| 1.0.1 | 1 | 02/28/2026 |
| 1.0.0.8616 | 1 | 02/28/2026 |
| 1.0.0 | 1 | 02/28/2026 |