Como assinar arquivos .rdp para eliminar o erro de Fornecedor Desconhecido no RemoteApp | Tutoriais Toda Solução

12 min de leitura Infraestrutura

Como Resolver o Erro "Fornecedor Desconhecido" no RemoteApp e Terminal Services (TS)

Elimine de vez os avisos "Cuidado: conexão remota desconhecida", "Aviso de Segurança do RemoteApp" e "Fornecedor Desconhecido" assinando seus arquivos .rdp com um certificado gerado no próprio servidor.

Se você administra um ambiente com RemoteApp ou Terminal Services (TS) no Windows Server, com certeza já se deparou com aquela tela amarela de alerta toda vez que o usuário tenta abrir um aplicativo publicado: "O fornecedor deste programa RemoteApp não pôde ser verificado. Tem certeza de que deseja se conectar para executar o programa?"

Esse aviso aparece porque o arquivo .rdp distribuído aos clientes não está assinado digitalmente. Sem uma assinatura válida, o Windows considera a conexão "não confiável" e exibe o alerta de segurança. Além de poluir a experiência do usuário final, isso reduz a confiança no aplicativo e gera chamados desnecessários no suporte.

A boa notícia: você não precisa comprar um certificado público (DigiCert, Sectigo etc.) para resolver. É possível gerar um certificado autoassinado no próprio servidor, confiá-lo nas máquinas dos clientes e assinar todos os .rdp publicados — eliminando o aviso de uma vez por todas.

Por que o aviso "Fornecedor Desconhecido" aparece?

O alerta é um comportamento de segurança do cliente RDP do Windows. Toda vez que um arquivo .rdp é executado, o sistema verifica:

  1. Se o arquivo possui assinatura digital;
  2. Se o certificado usado para assinar é confiável na máquina cliente;
  3. Se o certificado não foi alterado desde a assinatura.

Quando qualquer uma dessas condições falha, o Windows exibe a famosa caixa amarela pedindo confirmação. Em ambientes com dezenas de usuários, isso vira um problema crônico.

Mensagens típicas que você verá:

  • "Cuidado: conexão remota desconhecida"
  • "Aviso de Segurança do RemoteApp"
  • "O fornecedor deste programa RemoteApp não pôde ser verificado"
  • "Não foi possível verificar o editor desta conexão da Área de Trabalho Remota"

Visão geral da solução

Vamos resolver o problema em 5 etapas, todas executadas no servidor RDS / Terminal Server:

  1. Gerar um certificado autoassinado via PowerShell (com chave privada exportável).
  2. Exportar o certificado em dois formatos: .pfx (com chave privada, para o servidor) e .cer (sem chave, para os clientes).
  3. Configurar o RD Session Host (ou o Collection do RDS) para usar esse certificado nas assinaturas dos .rdp.
  4. Assinar manualmente arquivos .rdp avulsos com o utilitário rdpsign.exe.
  5. Distribuir o .cer aos computadores clientes e instalá-lo em "Autoridades de Certificação Raiz Confiáveis".

Pré-requisitos

  • Windows Server 2016, 2019, 2022 ou 2025 com a função RDS / Terminal Services instalada.
  • Acesso administrativo (membro do grupo Administradores) ao servidor.
  • PowerShell 5.1 ou superior (já vem por padrão).
  • Permissão para distribuir um arquivo .cer aos computadores cliente — manualmente ou via GPO.

Passo 1 — Gerar o certificado autoassinado no servidor

Abra o PowerShell como Administrador no servidor RDS e execute o comando abaixo. Ele cria um certificado válido por 5 anos, com a finalidade correta para assinatura de código (necessário para o RemoteApp aceitar):

# Ajuste o CN para o FQDN/host do seu servidor RDS
$nomeServidor = "rds.suaempresa.com.br"

$cert = New-SelfSignedCertificate `
    -DnsName $nomeServidor `
    -Subject "CN=$nomeServidor, O=Sua Empresa, C=BR" `
    -CertStoreLocation "Cert:\LocalMachine\My" `
    -KeyExportPolicy Exportable `
    -KeySpec Signature `
    -KeyLength 2048 `
    -KeyAlgorithm RSA `
    -HashAlgorithm SHA256 `
    -NotAfter (Get-Date).AddYears(5) `
    -Type CodeSigningCert

# Mostra o thumbprint — guarde, vamos usar adiante
$cert | Select-Object Subject, Thumbprint, NotAfter

Após executar, anote o Thumbprint retornado (uma sequência hexadecimal de 40 caracteres). Ele identifica o certificado no armazenamento do Windows.

Dica: use o FQDN real que os clientes usam para se conectar. Se o usuário acessa terminal.empresa.com.br, esse deve ser o -DnsName do certificado.

Passo 2 — Exportar o certificado (.pfx e .cer)

Precisamos de dois arquivos:

  • .pfx — contém a chave privada e fica no servidor (necessário para assinar).
  • .cer — contém apenas a parte pública e será instalado nos clientes para "confiar" na assinatura.

Exportando o .pfx (servidor)

# Use a senha de sua preferência — guarde em local seguro
$senha = ConvertTo-SecureString -String "SenhaForteAqui!2025" -Force -AsPlainText

# Caminho do arquivo .pfx
$pfxPath = "C:\Certificados\rds-codesigning.pfx"
New-Item -ItemType Directory -Path "C:\Certificados" -Force | Out-Null

Export-PfxCertificate `
    -Cert $cert `
    -FilePath $pfxPath `
    -Password $senha

Exportando o .cer (clientes)

$cerPath = "C:\Certificados\rds-codesigning.cer"

Export-Certificate `
    -Cert $cert `
    -FilePath $cerPath `
    -Type CERT
⚠️ Atenção ao distribuir o .cer aos clientes:

Não envie o arquivo .cer direto pelo AnyDesk (transferência de arquivos). Em diversos cenários o AnyDesk bloqueia ou corrompe arquivos de certificado durante a transferência por considerá-los potencialmente sensíveis, e o resultado é um arquivo inválido na ponta.

O método recomendado é:

  1. Compactar o .cer em um .zip (com 7-Zip ou o próprio Windows).
  2. Subir o .zip em um serviço como Google Drive, OneDrive, Dropbox ou WeTransfer.
  3. Enviar ao cliente apenas o link de download.
  4. Orientar o cliente a baixar, descompactar e instalar conforme o Passo 5.

Passo 3 — Configurar o RDS para usar o certificado nas publicações

Em ambientes RDS com Connection Broker (Windows Server 2012 R2 em diante), a forma mais limpa é definir o certificado em nível de Collection. Ainda no PowerShell:

# Substitua pelo nome da sua Collection
$collectionName = "QuickSessionCollection"

# Caminho do .pfx exportado
$pfxPath = "C:\Certificados\rds-codesigning.pfx"
$senha   = ConvertTo-SecureString -String "SenhaForteAqui!2025" -Force -AsPlainText

Set-RDCertificate `
    -Role RDPublishing `
    -ImportPath $pfxPath `
    -Password $senha `
    -CollectionName $collectionName `
    -Force

A partir desse momento, todos os .rdp gerados pelo RD Web Access ou exportados do RemoteApp Manager já sairão assinados automaticamente.

Servidor sem Connection Broker (RDS antigo / TS standalone)? Use o utilitário rdpsign.exe diretamente — veja o Passo 4.

Passo 4 — Assinar arquivos .rdp manualmente com rdpsign.exe

Para arquivos .rdp avulsos (gerados manualmente, distribuídos por e-mail ou colocados em pastas compartilhadas), use o rdpsign.exe, que já vem no Windows Server:

# Thumbprint copiado no Passo 1 (sem espaços)
$thumb = "A1B2C3D4E5F6...."

# Caminho do .rdp a ser assinado
$arquivo = "C:\Publicados\sistema-erp.rdp"

rdpsign.exe /sha256 $thumb $arquivo

Para validar se a assinatura foi aplicada, abra o .rdp em um editor de texto. Você verá ao final do arquivo linhas como:

signature:s:AQABAAAAA...
signscope:s:Full address,Alternate full address,...

Ao tentar abrir esse .rdp em uma máquina que já confia no certificado, o aviso de "Fornecedor Desconhecido" desaparece e no lugar aparece o nome do publisher (a sua empresa, definida no Subject do certificado).

Passo 5 — Instalar o certificado nos computadores cliente

Esta é a etapa final e mais importante: cada máquina cliente precisa confiar no seu certificado. Sem isso, o aviso continua aparecendo.

Método A — Instalação manual (poucos clientes)

  1. Envie o .zip contendo o .cer via Drive/WeTransfer (não pelo AnyDesk).
  2. O cliente baixa, descompacta e dá duplo-clique no arquivo .cer.
  3. Clica em "Instalar Certificado...".
  4. Escolhe "Computador Local" (recomendado) e avança.
  5. Marca "Colocar todos os certificados no repositório a seguir".
  6. Clica em Procurar e seleciona "Autoridades de Certificação Raiz Confiáveis".
  7. Conclui o assistente. Pronto — a partir do próximo .rdp, sem aviso.

Método B — Distribuição em massa via GPO (Active Directory)

Em ambientes com domínio, o caminho mais eficiente é uma GPO:

  1. Abra Group Policy Management e crie/edite uma GPO aplicada às máquinas cliente.
  2. Vá em Configuração do Computador → Políticas → Configurações do Windows → Configurações de Segurança → Políticas de Chave Pública → Autoridades de Certificação Raiz Confiáveis.
  3. Clique com o direito → Importar → selecione o .cer.
  4. Force a atualização nos clientes com gpupdate /force.

Método C — Via PowerShell em um único cliente

# Executar como Administrador no computador cliente
Import-Certificate `
    -FilePath "C:\Temp\rds-codesigning.cer" `
    -CertStoreLocation Cert:\LocalMachine\Root

Validando o resultado

Após instalar o certificado no cliente, abra novamente o .rdp publicado. Você deverá ver agora uma janela azul (não mais amarela) informando:

"Confia neste editor remoto?" — com o nome da sua empresa em destaque, e a opção "Não me perguntar novamente para conexões deste editor".

Marcando essa opção uma única vez, o aviso desaparece em definitivo para aquele usuário.

Solução de problemas comuns

O aviso continua aparecendo mesmo após instalar o .cer

  • Confira se o certificado foi instalado em "Autoridades de Certificação Raiz Confiáveis" e não em "Pessoal".
  • Garanta que foi instalado no Computador Local, não apenas no usuário.
  • Reabra o .rdp — o cliente RDP às vezes mantém cache; um logoff/logon resolve.

"O certificado não é adequado para assinatura de código"

Verifique se você usou -Type CodeSigningCert no New-SelfSignedCertificate. Sem esse parâmetro, o certificado não pode assinar arquivos .rdp.

rdpsign.exe retorna "0x80090008"

Esse erro indica thumbprint inválido. Confira se você copiou o thumbprint sem espaços e que o certificado realmente está em Cert:\LocalMachine\My.

O cliente recebeu o .cer pelo AnyDesk e não funciona

Como reforçado anteriormente: o AnyDesk pode corromper a transferência de arquivos de certificado. Refaça o envio compactando em .zip e enviando via Google Drive, OneDrive ou WeTransfer.

Boas práticas de segurança

  • Guarde o .pfx em local seguro — quem tiver acesso a ele pode assinar arquivos em nome da sua empresa.
  • Documente a senha do .pfx em um cofre (Bitwarden, 1Password, KeePass).
  • Renove o certificado antes do vencimento (nós usamos 5 anos no exemplo) — programe um lembrete.
  • Em produção crítica, considere migrar para uma CA interna (AD Certificate Services) ou um certificado de Code Signing público.
  • Em hipótese alguma reaproveite esse mesmo certificado para outras finalidades (HTTPS, e-mail etc.).

Conclusão

O aviso de "Fornecedor Desconhecido" no RemoteApp e Terminal Services não é um bug — é uma proteção do Windows funcionando como deveria. A solução correta é assinar digitalmente os arquivos .rdp com um certificado próprio e fazer com que os clientes confiem nele.

Com os 5 passos deste artigo, você profissionaliza a entrega dos seus aplicativos publicados, elimina alertas confusos para o usuário final e ganha pontos de credibilidade junto ao cliente. Tudo isso sem precisar comprar certificados externos.

Se a sua empresa precisa de uma infraestrutura RDS/TS robusta, com servidores em datacenter Tier III no Brasil, monitoramento 24×7 e suporte especializado, conheça as soluções de servidores dedicados e VPS Premium da Toda Solução.

Esse tutorial foi útil?

Comentários (0)

Seja o primeiro a comentar.

Deixe seu comentário

Seu comentário será analisado antes de ser publicado.

0/2000
WhatsApp