goodfred
Goto Top

Terminal Server 2019 Remote App - "digitale Signatur der RDP-Datei kann nicht bestätigt werden"

Guten Tag allerseits!

Habe ein Problem und hoffe hier kann mir geholfen werden. Im Web habe ich zu meinem Problem kaum was gefunden.

Wir nutzen auf einem Windows Server 2019 Terminal Server Remote Apps.
Seit ein paar Tagen hat meine Kollegin berichtet dass Sie die App nicht mehr öffnen kann mit folgender Fehlermeldung:
screen 1
(Sie hat es eine Weile nicht mehr benutzt gehabt)

Ich hab dann bemerkt dass das Zertifikat am 26.05.2022 abgelaufen ist und habe daraufhin unter "Remotedesktopgateway-Manager" "Eigenschaften" "SSL-Zertifikat" das Zertifikat erneuert. ("Selbstsigniertes Zertifikat erstellen" "Zertifikat erstellen und importieren" und dann Ja gedrückt damit der Service neugestartet wird)
In diesem Zuge habe ich dann auch das Zertifikat "exportiert" und manuell bei Ihr (und mir, zum testen, habe gleiche Fehlermeldung bei der Remote App) eingebunden in den lokalen Computer-Zertifikate-Speicher.
Leider kommt die Fehlermeldung immer noch.

Da ich wenig im Web dazu gefunden habe hoffe ich das Ihr mir hier helfen könnt.

Vielen lieben Dank schon mal! face-smile

mfG Goodfred

Content-ID: 3387363394

Url: https://administrator.de/forum/terminal-server-2019-remote-app-digitale-signatur-der-rdp-datei-kann-nicht-bestaetigt-werden-3387363394.html

Ausgedruckt am: 23.12.2024 um 03:12 Uhr

ArnoNymous
ArnoNymous 20.07.2022 um 14:04:25 Uhr
Goto Top
Moin,

hast es denn an den richtigen Stellen hinterlegt?
Was sagt denn das Zertifikat, wenn du die URL per Browser aufrufst?

Gruß
DerWoWusste
Lösung DerWoWusste 20.07.2022 um 14:05:07 Uhr
Goto Top
Ich schicke Dir mal einen Schwung Befehle zum Signieren deiner RemoteApps. Danach wird es wieder gehen.
Zuerst musst Du das Zertifikat samt privaten Schlüssel als "dein.pfx" abspeichern und dabei ein Kennwort vergeben.

$Password = ConvertTo-SecureString -String "DeinZertPa$$wort" -AsPlainText –Force  
Set-RDCertificate -Role RDWebAccess -ImportPath "PfadZumPFXZert\dein.pfx" -Password $Password  
Set-RDCertificate -Role RDGateway -ImportPath "PfadZumPFXZert\dein.pfx" -Password $Password  
Set-RDCertificate -Role RDPublishing -ImportPath "PfadZumPFXZert\dein.pfx" -Password $Password  
Set-RDCertificate -Role RDRedirector -ImportPath "PfadZumPFXZert\dein.pfx" -Password $Password  
erikro
erikro 20.07.2022 um 14:08:23 Uhr
Goto Top
Moin,

es ist nicht das Zertifikat des Servers gemeint, sondern die Signatur der auf dem Desktop (oder wo auch immer) abgelegten RDP-Datei selbst. Auch die muss signiert werden und auch das Zertifikat läuft irgendwann einmal ab.
https://docs.microsoft.com/de-de/windows-server/administration/windows-c ...

hth

Erik
DerWoWusste
DerWoWusste 20.07.2022 um 14:09:33 Uhr
Goto Top
@erikro
Ja, für einzelne RDP-Dateien macht man das so, nicht aber für das Deployment.
Goodfred
Goodfred 28.07.2022 um 09:08:34 Uhr
Goto Top
Zitat von @erikro:

Moin,

es ist nicht das Zertifikat des Servers gemeint, sondern die Signatur der auf dem Desktop (oder wo auch immer) abgelegten RDP-Datei selbst. Auch die muss signiert werden und auch das Zertifikat läuft irgendwann einmal ab.
https://docs.microsoft.com/de-de/windows-server/administration/windows-c ...

hth

Erik

Leider hat dies nicht funktioniert.
rdpsign /sha1 Export.pfx SAPBusinessOne.rdp
Ein Zertifikat muss entweder durch die Angabe eines Hashwerts oder einer PFX-Datei angegeben werden.
NAME

rdpsign [Optionen] [Zu signierende Elemente]

OPTIONS

  /sha256 HASH
       Gibt den SHA256-Hash des Signaturzertifikats an.
  /q
       Stiller Modus: Keine Ausgabe bei Erfolg, minimale Ausgabe bei Fehler.
  /v
       Ausführlicher Modus: Alle Warnungen, Meldungen und Statusangaben werden angezeigt.
  /l
       Testet Signierungs- und Ausgabeergebnisse, ohne die Eingabe tatsächlich zu ersetzen. Ignoriert Eingabedateien aus STDIN (Standardeingabe).


Alle RDP-Dateien wurden erfolgreich signiert.

rdpsign /sha256 ######################### SAPBusinessOne.rdp
Das angegebene Zertifikat wurde nicht gefunden. Fehlercode: 0x80092004
Die RDP-Datei konnte nicht signiert werden. Fehlercode: 0x80092004

Wegen der 1. Ausgabe: Habe die RDP Datei gestartet, ohne Erfolg, die Meldung kommt immer noch in identischer Form.
Goodfred
Goodfred 28.07.2022 aktualisiert um 09:33:55 Uhr
Goto Top
Zitat von @DerWoWusste:

Ich schicke Dir mal einen Schwung Befehle zum Signieren deiner RemoteApps. Danach wird es wieder gehen.
Zuerst musst Du das Zertifikat samt privaten Schlüssel als "dein.pfx" abspeichern und dabei ein Kennwort vergeben.

$Password = ConvertTo-SecureString -String "DeinZertPa$$wort" -AsPlainText –Force  
Set-RDCertificate -Role RDWebAccess -ImportPath "PfadZumPFXZert\dein.pfx" -Password $Password  
Set-RDCertificate -Role RDGateway -ImportPath "PfadZumPFXZert\dein.pfx" -Password $Password  
Set-RDCertificate -Role RDPublishing -ImportPath "PfadZumPFXZert\dein.pfx" -Password $Password  
Set-RDCertificate -Role RDRedirector -ImportPath "PfadZumPFXZert\dein.pfx" -Password $Password  

Hat leider auch nicht geklappt wie es sollte, ich poste mal die Ausgabe
PS C:\Windows\system32> $Password = ConvertTo-SecureString -String "P@$$w0rd" -AsPlainText –Force  
Set-RDCertificate -Role RDWebAccess -ImportPath "C:\Ordner\Export.pfx" -Password $Password  
Set-RDCertificate -Role RDGateway -ImportPath "C:\Ordner\Export.pfx" -Password $Password  
Set-RDCertificate -Role RDPublishing -ImportPath "C:\Ordner\Export.pfx" -Password $Password  
Set-RDCertificate -Role RDRedirector -ImportPath "C:\Ordner\Export.pfx" -Password $Password  
Das angegebene Zertifikat ist ungültig. Die Zertifikateigenschaften müssen den Anforderungen des Rollendiensts entsprechen.
    + CategoryInfo          : NotSpecified: (:) [Import-RemoteDesktopCertificate], RDManagementException
    + FullyQualifiedErrorId : Microsoft.RemoteDesktopServices.Common.RDManagementException,Microsoft.RemoteDesktopServices.Management.Cmdlets.ImportRDCertificateCommand
    + PSComputerName        : localhost
 
Das angegebene Zertifikat ist ungültig. Die Zertifikateigenschaften müssen den Anforderungen des Rollendiensts entsprechen.
    + CategoryInfo          : NotSpecified: (:) [Import-RemoteDesktopCertificate], RDManagementException
    + FullyQualifiedErrorId : Microsoft.RemoteDesktopServices.Common.RDManagementException,Microsoft.RemoteDesktopServices.Management.Cmdlets.ImportRDCertificateCommand
    + PSComputerName        : localhost
 
Das angegebene Zertifikat ist ungültig. Die Zertifikateigenschaften müssen den Anforderungen des Rollendiensts entsprechen.
    + CategoryInfo          : NotSpecified: (:) [Import-RemoteDesktopCertificate], RDManagementException
    + FullyQualifiedErrorId : Microsoft.RemoteDesktopServices.Common.RDManagementException,Microsoft.RemoteDesktopServices.Management.Cmdlets.ImportRDCertificateCommand
    + PSComputerName        : localhost
 
Das angegebene Zertifikat ist ungültig. Die Zertifikateigenschaften müssen den Anforderungen des Rollendiensts entsprechen.
    + CategoryInfo          : NotSpecified: (:) [Import-RemoteDesktopCertificate], RDManagementException
    + FullyQualifiedErrorId : Microsoft.RemoteDesktopServices.Common.RDManagementException,Microsoft.RemoteDesktopServices.Management.Cmdlets.ImportRDCertificateCommand
    + PSComputerName        : localhost

Ich habe dazu eine Export.pfx Datei genommen die ich gefunden habe und hoffe das war die richtige.
Wenn ich jetzt das Zertifikat inklusive dem privaten Schlüssel exportieren will, ist es nicht möglich den privaten Schlüssel zu exportieren. (habe eben ein neues Selbstsigniertes Zertifikat erstellt)
Jetzt stehe ich auf dem Schlauch wie ich ein neues selbstsigniertes Zertifikat erstellen kann, das ich dann mit privatem Schlüssel exportieren kann.
2

Die exportierte File TS01.cer hat er nicht genommen - er will eine .pfx Datei
PS C:\Windows\system32> # $Password = ConvertTo-SecureString -String "P@$$w0rd" -AsPlainText –Force 
Set-RDCertificate -Role RDWebAccess -ImportPath "C:\Ordner\TS01.cer"  
Set-RDCertificate -Role RDGateway -ImportPath "C:\Ordner\TS01.cer"  
Set-RDCertificate -Role RDPublishing -ImportPath "C:\Ordner\TS01.cer"  
Set-RDCertificate -Role RDRedirector -ImportPath "C:\Ordner\TS01.cer"  
Set-RDCertificate : ImportPath-Wert "C:\Ordner\TS01.cer" ist keine PFX-Datei.  
In Zeile:2 Zeichen:1
+ Set-RDCertificate -Role RDWebAccess -ImportPath "C:\Ordner\TS01.cer"  
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Set-RDCertificate


Vielen lieben Dank für eure Antworten und für das was noch kommt! face-smile
Grüße! Goodfred

P.S.: Ich fange mal an nach den Fehlermeldungen zu googlen, vielleicht komm ich auf eine Lösung! face-smile
Goodfred
Goodfred 28.07.2022 aktualisiert um 09:41:22 Uhr
Goto Top
Hi! Ich habe eben das hier gefunden:
PS C:\Windows\system32> Get-RDCertificate | fl 


Subject              : CN=ts01.domain.local
SubjectAlternateName : {ts01.domain.local}
IssuedBy             : CN=ts01.domain.local
IssuedTo             : CN=ts01.domain.local
ExpiresOn            : 05/26/2022 11:26:30
Thumbprint           : ##########################
Role                 : RDRedirector
Level                : Nicht vertrauenswürdig

Subject              : CN=ts01.domain.local
SubjectAlternateName : {ts01.domain.local}
IssuedBy             : CN=ts01.domain.local
IssuedTo             : CN=ts01.domain.local
ExpiresOn            : 05/26/2022 11:26:30
Thumbprint           : #########################
Role                 : RDPublishing
Level                : Nicht vertrauenswürdig

Subject              : CN=ts01.domain.local
SubjectAlternateName : {ts01.domain.local}
IssuedBy             : CN=ts01.domain.local
IssuedTo             : CN=ts01.domain.local
ExpiresOn            : 05/26/2022 11:26:30
Thumbprint           : ##########################
Role                 : RDWebAccess
Level                : Nicht vertrauenswürdig

Subject              : CN=ts01.domain.local
SubjectAlternateName : {ts01.domain.local}
IssuedBy             : CN=ts01.domain.local
IssuedTo             : CN=ts01.domain.local
ExpiresOn            : 05/26/2022 11:26:30
Thumbprint           : ##############################
Role                 : RDGateway
Level                : Nicht vertrauenswürdig

Dann weiß ich was getan werden muss/wo ich ansetzen muss. Nur das wie ist noch offen! face-smile
(Über Tipps/Hinweise/etc. freue ich mich aber nach wie vor!face-smile)
DerWoWusste
DerWoWusste 28.07.2022 um 10:23:44 Uhr
Goto Top
Dieses Zertifikat musst Du doch exportieren können. Den privaten Schlüssel musst Du als exportierbar markiert haben, schon bei Zertifikatsanforderung, damit das klappt.
Goodfred
Goodfred 28.07.2022 um 10:32:36 Uhr
Goto Top
Zitat von @DerWoWusste:

Dieses Zertifikat musst Du doch exportieren können. Den privaten Schlüssel musst Du als exportierbar markiert haben, schon bei Zertifikatsanforderung, damit das klappt.

Aus dem Grund habe ich heute wieder ein selbstsigniertes Zertifikat erstellt,
leider war es bei dem Vorgang nicht möglich den privaten Key als Exportierbar zu markieren. face-sad
DerWoWusste
DerWoWusste 28.07.2022 um 11:40:59 Uhr
Goto Top
Privkey-Export geht bestimmt auch mit self-signed. Kann Dir aber nicht weiterhelfen.
Goodfred
Lösung Goodfred 23.08.2022 um 13:05:11 Uhr
Goto Top
Es hat dann wohl doch geklappt, auch ohne privatem Key export!

Mir ist aufgefallen das Zertifikate als .pfx exportierbar sind, wenn mehrere Zertifikate zum Export ausgewählt sind.

Habe dann zwei selbst-signierte Zertifikate erstellt im Remotedesktopgateway Manager in den Eigenschaften,
beide Zertifikate zusammen als .pfx exportiert,
die Befehle von DerWoWusste auf dem TS ausgeführt, (Danke noch mal! face-smile )
an den Clients die .pfx importiert,
/rdweb aufgerufen, die .rdp heruntergeladen
und dann hat es geklappt!

Vielen lieben Dank an euch! face-smile