Managed CSOM on Sharepoint 201. Could not create SSL/TLS secure channel

0

I have a Windows Server 2016 VM and Visual Studio 2017 Community Edition. I am writing a simple script just to check the connectivity with the Sharepoint 2013. The Sharepoint Server is NOT installed on the VM, it is somewhere within the intranet.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.SharePoint.Client;
using System.Security;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            string siteUrl = "https://xxx.yyy.org:443";
            ClientContext clientContext = new ClientContext(siteUrl);

            Web site = clientContext.Web;
            List documents = site.Lists.GetByTitle("Documents");

            //Prepare the request
            clientContext.Load(site);

            //Submit the Request
            clientContext.ExecuteQuery();

            Console.ReadKey();
        }
    }
}

But I am getting this exception:

System.Net.WebException occurred

HResult=0x80131509
Message=The request was aborted: Could not create SSL/TLS secure channel.
Source=System
StackTrace:

at System.Net.HttpWebRequest.GetResponse()
at Microsoft.SharePoint.Client.SPWebRequestExecutor.Execute()
at Microsoft.SharePoint.Client.ClientContext.GetFormDigestInfoPrivate()
at Microsoft.SharePoint.Client.ClientContext.EnsureFormDigest()
at Microsoft.SharePoint.Client.ClientContext.ExecuteQuery()
at ConsoleApp1.Program.Main(String[] args) in C:\Users\AdminDD\source\repos\ConsoleApp1\ConsoleApp1\Program.cs:line

I've read this thread and I signed in through IE. The certificate of the browser seems valid and the problem remains. Is there any suggestion on how to solve this ?

ssl
sharepoint-2013
csom
asked on Stack Overflow Oct 17, 2017 by dimitrisd

2 Answers

1

I had the exact same issue. Check your project .Net Version. It worked after upgrading from 4.5 --> 4.6

answered on Stack Overflow Jun 1, 2018 by Mehmet Erkan
0

you should do a request on your url https://yoursite/ absolute url only, nothing more

$response = Invoke-WebRequest -Verbose -URI $anUrl -CertificateThumbprint $CertificateThumbprint -UseDefaultCredentials -SessionVariable websession -ErrorAction:Stop

get cookie authentification in reponse, and then add it in your csom query

$request.ClientCertificates.Add($global:cert)

$request.CookieContainer = New-Object System.Net.CookieContainer

$c3 = New-Object System.Net.Cookie($global:cookieName3, $global:cookieVal3, "/", $global:cookieDomaine);

$request.CookieContainer.Add($c3);

here is a working sample

answered on Stack Overflow Nov 23, 2019 by FredericDietrich • edited Nov 23, 2019 by Tanveer Badar

User contributions licensed under CC BY-SA 3.0