Laden...

Wie kann ich eine ASP.NET REST API auf Https umstellen?

Erstellt von fungi35 vor 5 Jahren Letzter Beitrag vor 5 Jahren 2.231 Views
F
fungi35 Themenstarter:in
42 Beiträge seit 2015
vor 5 Jahren
Wie kann ich eine ASP.NET REST API auf Https umstellen?

Hallo Leute,

ich möchte gerne eine RestApi auf https umstellen. Ich habe mir hierfür diesen Artikel sowie einige über google gefundene Lektüre durchgelesen.

Folgende Schritte muss ich jetzt machen:

  • Das [RequireHttps]-Attribut in die Controller implementieren
  • Im IIS eine https-Bindung erstellen
  • Ein Zertifikat beziehen (hierfür habe ich das Tool https://certifytheweb.com/home/download gefunden) und auf dem IIS einrichten

Meine Fragen:

1.) Die RestApi wird von einer Android-App angesprochen, muss auf Client-Seite irgendwas gemacht werden, außer die RestApi mit https://....:Port anzusprechen?
2.) Auf dem Server laufen verschiedene RestApis mit unterschiedlichen Ports, kann ich für jede RestApi dasselbe zertifikat verwenden?
3.) Wie kann ich das Zertifikat mittels certifytheweb oder einem anderen Tool bekommen, ich kann bei dem Domänennamen keinen Port angeben. Keine RestApi läuft auf dem Server auf den Standardports 80/443.

Viele Grüße

fungi

16.806 Beiträge seit 2008
vor 5 Jahren

HTTPS sagt nichts anderes aus, als dass der Server, von dem die Antwort kommt der ist, den man erwartet.
Ergo kann man damit (theoretisch) alle Applikationen auf diesem Server legitimieren (gebunden an die Adresse).

Du sagst leider überhaupt nicht, welche ASP.NET Variante Du hast; ergo kann man auch in dieser Sache kaum helfen.

  • in ASP.NET Core verwendet man app.UseHttpsRedirection();
  • vor ASP.NET Core verwendet man einen globalen Filter und/oder den Redirect via Web.Config.

certifytheweb kenn ich nicht; noch nie gesehen.
Aber wie gesagt; https hat nichts mit irgendeinem Port zutun. Schau Dir bitte an, was HTTPS ist - und was nicht.

F
fungi35 Themenstarter:in
42 Beiträge seit 2015
vor 5 Jahren

Ich verwende ASP.NET. Was verwendest Du um Zertifikate zu erstellen und zu verwalten?

1.029 Beiträge seit 2010
vor 5 Jahren

@fungi - er verwendet sicher primär Zertifikate von Firmen
@Abt - certifytheweb läuft auf Basis von LetsEncrypt

LG

16.806 Beiträge seit 2008
vor 5 Jahren

Ich verwende ASP.NET.

Das hilft nicht. Ich frage Dich nach der Variante; und Du sagst wieder nur "ASP.NET" 😉

Entweder Du verwendest das alte ASP.NET (zB Version 3, Version 4, Version 5...) oder Du verwendest ASP.NET Core.
Das sind zwei verschiedene paar Stiefel.

Taipi88 denkt da richtig; meistens bekomm ich die Zertifikate einfach von Firmen für die Projekte gestellt - woher die kommen weiß ich nicht.
Das Forum hier aber haben wir via Let's Encrypt auf HTTPS gebogen und meine Websites nutzen mit Win ACME (https://github.com/PKISharp/win-acme/) wenn sie auf eigenen Servern sind oder eben direkt Let's Encrypt wenn auf Azure.

Certify scheint einfach nur eine GUI um Win ACME zu sein.