在Sharepoint 201上管理CSOM。无法创建SSL/TLS安全通道

在Sharepoint 201上管理CSOM。无法创建SSL/TLS安全通道,ssl,sharepoint-2013,csom,Ssl,Sharepoint 2013,Csom,我有一个Windows Server 2016虚拟机和Visual Studio 2017社区版。我正在编写一个简单的脚本,只是为了检查与Sharepoint 2013的连接。Sharepoint服务器未安装在VM上,它位于intranet内的某个位置 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using M

我有一个Windows Server 2016虚拟机和Visual Studio 2017社区版。我正在编写一个简单的脚本,只是为了检查与Sharepoint 2013的连接。Sharepoint服务器未安装在VM上,它位于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();
        }
    }
}
但我有一个例外:

发生System.Net.WebException异常 HResult=0x80131509
Message=请求被中止:无法创建SSL/TLS安全通道。
来源=系统
堆栈跟踪:

在System.Net.HttpWebRequest.GetResponse()上 位于Microsoft.SharePoint.Client.SPWebRequestExecutor.Execute()
位于Microsoft.SharePoint.Client.ClientContext.GetFormDigestInfoPrivate()
位于Microsoft.SharePoint.Client.ClientContext.EnsureReformDigest()
在Microsoft.SharePoint.Client.ClientContext.ExecuteQuery()上 在C:\Users\AdminDD\source\repos\ConsoleApp1\ConsoleApp1\Program.cs:line中的ConsoleApp1.Program.Main(字符串[]args)处


我已经阅读了这篇文章,并通过IE登录。浏览器的证书似乎有效,问题仍然存在。有没有关于如何解决这个问题的建议?

我也有同样的问题。
检查项目的.Net版本。它在从4.5-->4.6升级后起作用。您只需在url绝对url上执行请求,而无需执行其他操作

$response = Invoke-WebRequest -Verbose -URI $anUrl -CertificateThumbprint $CertificateThumbprint -UseDefaultCredentials -SessionVariable websession -ErrorAction:Stop
在响应中获取cookie身份验证,然后将其添加到csom查询中

$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);