it-swarm.com.de

Veröffentlichen aus Visual Studio 2015 - Zulassen nicht vertrauenswürdiger Zertifikate

Ich veröffentliche mein ASP.NET 5-MVC6-Projekt aus Visual Studio 2015. Ich habe das Veröffentlichungsprofil von meinem Server importiert. Verbindung wird erfolgreich validiert. Beim Veröffentlichen meines Projekts habe ich jedoch den folgenden Fehler:

ERROR_CERTIFICATE_VALIDATION_FAILED

Verbindung zum Remote-Computer ("XXXXXXXXX") mit dem angegebenen Prozess ("Web Management Service"), konnte jedoch nicht die .__ des Servers überprüfen. Zertifikat. Wenn Sie dem Server vertrauen, stellen Sie erneut eine Verbindung her, und erlauben Sie nicht vertrauenswürdige Zertifikate.

Es ist nicht möglich, nicht vertrauenswürdige Zertifikate in den Veröffentlichungseinstellungen zuzulassen. 

51
koryakinp

Die Option zum Zulassen nicht vertrauenswürdiger Zertifikate wird im aktuellen Tooling noch nicht unterstützt. Hoffentlich wird dies sehr bald aktualisiert. Sie können es jedoch manuell einstellen.

  1. Öffnen Sie die Veröffentlichungsprofildatei (.pubxml) in/Properties/PublishProfiles in einem Texteditor
  2. Setzen Sie AllowUntrustedCertificate im Element <PropertyGroup> auf True (<AllowUntrustedCertificate>True</AllowUntrustedCertificate>) oder fügen Sie es hinzu, wenn es nicht vorhanden ist 
  3. Setzen Sie UsePowerShell auf False (<UsePowerShell>False</UsePowerShell>).

Zum Zeitpunkt des Schreibens ignoriert das generierte Powershell-Skript die AllowUntrustedCertificate -Eigenschaft, die wahrscheinlich ein Fehler ist, daher muss sie auf False gesetzt werden.

Sie können Powershell zum Laufen bringen, wenn Sie die Modulversion in der .ps1-Datei aktualisieren. 

Als Randbemerkung können Sie dieses Problem auch umgehen, indem Sie dem Zertifikat des Servers lokal vertrauen.

81
Dealdiane

Für dot net core 1.0 müssen Sie das Tag hinzufügen 

 <AllowUntrustedCertificate>True</AllowUntrustedCertificate>

veröffentlichen von Profilen in Ihrer .pubxml-Datei 

28
jack.the.ripper

Für mich dauerte die Lösung 4 Zeilen in der XML-Datei des Veröffentlichungsprofils.

<AllowUntrustedCertificate>True</AllowUntrustedCertificate>
<UseMsDeployExe>true</UseMsDeployExe>
<UserName>myuser</UserName>
<Password>mypass</Password>

Die Variable UseMsDeployExe ändert den Fehler, um das Zertifikat zu ignorieren, den Benutzer jedoch nicht zu authentifizieren. Daher ist es erforderlich, dass der Benutzer und der Benutzer den Computer übergeben, auf dem er bereitgestellt wird.

Im Powershell-Skript waren keine Änderungen erforderlich.

9
paqogomez

Ich hatte <UsePowerShell>True</UsePowerShell>, aber der cert-Fehler schlug fehl. 

  • Ich habe mein Passwort erneut im Einstellungsdialogfeld eingegeben und es ist trotzdem fehlgeschlagen
  • Nachdem ich auf Validate Connection geklickt hatte, funktionierte es.

 Publish Settings Dialog

Hinweis

  • VS 2017 (15,2)
  • Mein Passwort hat sich kürzlich geändert
  • Als Test das falsch -Passwort eingegeben und ich habe den cert-Fehler erhalten, so dass es sich bei dem cert-Fehler nicht nur um ein nicht vertrauenswürdiges cert handelt
8
spottedmahn

Update

Eine kleine Bemerkung, wenn Sie eine .net-Core-App in der VS2015- oder VS2017-Community auf einem Remote-Server IIS bereitstellen, verwenden Sie diese Option 

<UsePowerShell>True</UsePowerShell> 

nicht

<UsePowerShell>False</UsePowerShell>

Es wurde festgestellt, dass die Bereitstellung als erfolgreich abgeschlossen wurde. Es wurden jedoch keine Dateien auf den Server kopiert, bis ich das Tag in true geändert habe. 

Ich hoffe das hilft jemandem.

1
Daniel Adigun

Noch eine andere Lösung

Ich habe auf der Remote-Seite IIS Veröffentlichungseinstellungen erstellt und diese in Visual Studio 2017 (15.2) importiert. Danach änderte ich die URL, um den Sitenamen anzugeben, da der IIS-Benutzer nur Zugriff auf die bestimmte Site hat (Danke an this answer on SO) . Ich habe die Anmeldeinformationen über die Benutzeroberfläche eingegeben und es ist nicht erforderlich, das Kennwort im Profil zu speichern.

Mein Profil sieht so aus:

<WebPublishMethod>MSDeploy</WebPublishMethod>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish>https://some.site.com:443/</SiteUrlToLaunchAfterPublish>
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<ExcludeApp_Data>False</ExcludeApp_Data>
<PublishFramework>netcoreapp1.1</PublishFramework>
<ProjectGuid>eecf975e-f2e6-440f-bfd6-a0a63c25e3c3</ProjectGuid>
<MSDeployServiceURL>https://url.toourserver.com:8172/msdeploy.axd?site=some.site.com</MSDeployServiceURL>
<DeployIisAppPath>some.site.com</DeployIisAppPath>
<RemoteSitePhysicalPath />
<SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>
<MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
<EnableMSDeployBackup>True</EnableMSDeployBackup>
<UserName>IISUserName</UserName>    
<AllowUntrustedCertificate>True</AllowUntrustedCertificate>    
<_SavePWD>True</_SavePWD>

<AllowUntrustedCertificate> wurde benötigt, da das selbstsignierte Zertifikat auf meinem Computer nicht als vertrauenswürdig eingestuft wird.

Mit diesem Profil wird ein Backup gemäß den Einstellungen in IIS erstellt, die Site wird aktualisiert und in meinem Browser geöffnet, wenn der Vorgang abgeschlossen ist :-)

Obwohl alle anderen Antworten auch dazu geführt haben, dass es funktioniert hat, dachte ich, dass es nett wäre, auf diese Weise zu teilen, da es nur wenige Änderungen (AllowUntrustedCertificate) und keine Speicherung von Passwörtern erfordert.

0
ArieKanarie

Klicken Sie nach dem Importieren oder Erstellen eines Profils auf Konfigurieren und validieren Sie die Verbindung. Geben Sie das Passwort ein und beenden Sie das Setup. Jetzt bereitstellen.

0
Kenan Begić