Ошибка «Invalid algorithm specified» при генерации сертификатов в Windows

Недавно столкнулся с такой ошибкой на хосте с Windows Server 2019 после установки СКЗИ «Валидата CSP». Ошибка была при работа двух сервисов: Remote Desktop Services и Veeam Agent Backup. В логах Veeam например были такие сообщения:

Info Generating certificate. FriendlyName: [Manager to Agent channel encryption], Subject: [CN=VeeamDataMover connection certificate], ValidFrom: [02.08.2026 15:14:24], ValidTo: [02.09.2026 15:14:24]
Error Win32 exception (-2146893816) occurred on 1 attempt to create a certificate. Attempts left: 2
Error Invalid algorithm specified (System.ComponentModel.Win32Exception)
Error at Veeam.Backup.Common.WinAPIWrappers.CertContext.CertCreateSelfSignCertificate(CryptContext context, X500DistinguishedName subjectName, CertCreateSelfSignCertificateFlags flags, CryptKeyProvInfo keyProvInfo, CryptAlgorithmIdentifier signatureAlgorithm, DateTime startTime, DateTime endTime, X509ExtensionCollection extensions)
Error at Veeam.Backup.Common.SCertificateHelper.CreateSelfSignCertificateInternal(CryptContext context, String friendlyName, String subject, DateTime from, DateTime to, X509ExtensionCollection extensions)
Error at Veeam.Backup.Common.SCertificateHelper.CreateShortLivingSelfSignCertificate(String name, String friendlyName, Int32 certificateValidityPeriodMonths, X509ExtensionCollection extentions)
Error at Veeam.Backup.Common.SAgentTlsCertificateFactory.GenerateTlsCertificateRetryable(String friendlyName, Int32 attemptCounter)

В процессе поиска проблемы обнаружены были ветки реестра:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\OID\EncodingType 0\CryptDllFindOIDInfo\1.2.840.113549.1.1.11!4]
"Name"="sha256RSA"
"Algid"=dword:0000800c
"Flags"=dword:00000001
"ExtraInfo"=hex:00,24,00,00
"CNGAlgid"="SHA256"
"CNGExtraAlgid"="RSA"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\OID\EncodingType 0\CryptDllFindOIDInfo\1.2.840.113549.1.1.12!4]
"Name"="sha384RSA"
"Algid"=dword:0000800d
"Flags"=dword:00000001
"ExtraInfo"=hex:00,24,00,00
"CNGAlgid"="SHA384"
"CNGExtraAlgid"="RSA"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\OID\EncodingType 0\CryptDllFindOIDInfo\1.2.840.113549.1.1.13!4]
"Name"="sha512RSA"
"Algid"=dword:0000800e
"Flags"=dword:00000001
"ExtraInfo"=hex:00,24,00,00
"CNGAlgid"="SHA512"
"CNGExtraAlgid"="RSA"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\OID\EncodingType 0\CryptDllFindOIDInfo\2.16.840.1.101.3.4.2.1!1]
"Name"="SHA256"
"Algid"=dword:0000800c
"CNGAlgid"="SHA256"
"Flags"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\OID\EncodingType 0\CryptDllFindOIDInfo\2.16.840.1.101.3.4.2.2!1]
"Name"="SHA384"
"Algid"=dword:0000800d
"CNGAlgid"="SHA384"
"Flags"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\OID\EncodingType 0\CryptDllFindOIDInfo\2.16.840.1.101.3.4.2.3!1]
"Name"="SHA512"
"Algid"=dword:0000800e
"CNGAlgid"="SHA512"
"Flags"=dword:00000001

После удаления этих веток и перезагрузки сервера бекап Veeam-агентом заработал и служба RDS выпустила сертификат.

Info Generating certificate. FriendlyName: [Manager to Agent channel encryption], Subject: [CN=VeeamDataMover connection certificate], ValidFrom: [03.08.2026 12:44:35], ValidTo: [03.09.2026 12:44:35]
Info [LeaseKeeper] Created. LeaseId: [f3a7bced-1a15-4da0-8761-6d56cc5c5abd], TTL: [100sec], ignoreExceptions: [False]
Info [CTransportSvcAgentManager] Agent has been started, ID 'b461be0b-45ad-4cea-ad0a-f4391beeb2d6', addresses '[::1]:2501;127.0.0.1:2501;192.168.67.11:2501', PID '10316'

Добавить комментарий