#Предисловие
Внезапно перестал отвечать по RDP рабочий компьютер на Windows 10. Со стороны подключения просто "Произошла внутренняя ошибка". В логах принимающего необычная ошибка за номером 1057:
Серверу узла сеансов удаленных рабочих столов не удалось создать новый самозаверяющий сертификат для использования при проверке подлинности сервера узла сеансов удаленных рабочих столов при подключениях SSL. Код состояния: Указан неправильный алгоритм.
Подключение надо восстановить, удалённый доступ к компьютеру нужен бывает часто.
Чего только не делал для восстановления - переустанавливал службу, настраивал уровни безопасности, включал/отключал NLA, даже снёс КриптоПро с очисткой, так как изначально на него грешил. Отчаялся уже, но на второй день поисков нашёл рецепт.
#Пересоздание самозаверяющегося сертификата для подключения по RDP
Запустить в Powershell от Администратора
Stop-Service termservice -Force
Rename-Item "C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys" "MachineKeys_bak"
Remove-Item "HKLM:\SOFTWARE\Microsoft\SystemCertificates\Remote Desktop" -Recurse -Force
Remove-Item "Cert:\LocalMachine\Remote Desktop" -Recurse -Force -ErrorAction SilentlyContinue
$cert = New-SelfSignedCertificate `
-DnsName $env:COMPUTERNAME `
-CertStoreLocation "Cert:\LocalMachine\My" `
-KeyUsage DigitalSignature,KeyEncipherment `
-KeyAlgorithm RSA `
-KeyLength 2048 `
-HashAlgorithm SHA256 `
-NotAfter (Get-Date).AddYears(2)
$thumbprint = $cert.Thumbprint
Write-Host "Thumbprint: $thumbprint"
$path = (Get-WmiObject `
-Class Win32_TSGeneralSetting `
-Namespace root\cimv2\TerminalServices `
-Filter "TerminalName='RDP-tcp'").__PATH
Set-WmiInstance -Path $path -Argument @{ SSLCertificateSHA1Hash = $thumbprint }
Start-Service termservice
Get-Service termservice