Zugriff auf NextCloud-Server

  • VB.NET
  • .NET 4.5

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von BigBen2003.

    Zugriff auf NextCloud-Server

    Hallo,

    in einem VisualStudio 2017-Projekt wird ein Zugang zu einem Nextcloud Server benötigt.

    Im Git-Hub ist ein Demo-Code vorhanden, der sowohl für Owncloud als auch für Nextcloud geeignet sein soll.

    Beim Webserver ist bereits TLS 1.2 aktiviert worden. Daher wird bei der Verbindungaufnahme immer der Fehler

    "Es konnte kein geschützter SSL/TLS-Kanal erstellt werden"

    ... ausgegeben.

    Weiß jemand, wie man TLS 1.2 im Source-Code aktivieren kann?

    Beispiel:

    Source-Code zur Suchen eines User-IDs:

    C#-Quellcode

    1. public List<string> SearchUsers(string username) {
    2. var request = new RestRequest(GetOcsPath(ocsServiceCloud, "users") + "?search={userid}", Method.GET);
    3. request.AddHeader("OCS-APIREQUEST", "true");
    4. request.AddUrlSegment ("userid", username);
    5. var response = rest.Execute (request);
    6. CheckOcsStatus (response);
    7. return GetDataElements (response.Content);
    8. }


    Beim Befehl var response = rest.Execute (request); wird der Fehler angezeigt.

    Kann jemand weiterhelfen?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „BigBen2003“ ()

    Versuche mal den
    ServicePointManager.SecurityProtocol

    zu ändern also einfach:

    VB.NET-Quellcode

    1. System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;


    Sollte eigentlich dann funktionieren. Denn NET 4.5 hat Standard 1.0 und 4.6 hat 1.2 Standard.
    //EDIT//
    Du könntest auch:

    VB.NET-Quellcode

    1. System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.SystemDefault;

    versuchen, wäre die bessere Lösung. Wenn es denn geht dann

    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „xChRoNiKx“ ()

    Hallo,

    BornToBeRoot schrieb:

    Ist das Zertifikat selbst signiert? Wenn ja ist es nicht vertrauenawürdig und die Meldung erscheint.


    das Zertifikat ist mit LetsEncrypt zertifiziert worden.

    Im Browser wird das Zertifikat anerkannt.

    xChRoNiKx schrieb:

    System.Net.ServicePointManager.SecurityProtocol


    Der Befehl "System.Net.ServicePointManager. ..." wird als ungültig markiert: Fehlermeldung: "Der Typ- oder Namespacename 'ServicePointManager' ist im Namespace 'System.Net' nicht vorhanden."

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „BigBen2003“ ()

    Das kommt in die FormXY.Designer.vb (bitte mal jemand korrigieren wenn jemand das besser weiß) denn das ist die einzige Stelle
    bei der ich das so direkt festlegen kann unter "InitializeComponent()"


    Bild:
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen
    Bei Consolen Anwendung einfach am Anfang der Main. In WPF geht es auch in der "InitializeComponent"

    EDIT///
    Komischerweise funktioniert nun das hier:

    VB.NET-Quellcode

    1. ​ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12

    Auch innerhalb der normalen Anwendung im Code. Also im Form.Shown.
    Sowie auch am Anfang der Main bei na Consolen Anwendung wie ich schon schrieb.
    In WPF geht es nun auch ganz normal im Code. Keine Ahnung was da gestern mit meiner IDE los war.
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „xChRoNiKx“ ()