У меня есть сайт SharePoint, когда он загружается из корпоративной сети и загружает самозаверяющий сертификат, который заносится в белый список в наших корпоративных браузерах.Тот же сайт, загруженный из Интернета, будет иметь проверенный подписанный сертификат.
Моя проблема заключается в том, что когда я выполняю приведенный ниже код в своей корпоративной сети, он выдает 400 Bad request
.
Однако выполнение этого черезинтернет работает как положено.
static void Main(string[] args)
{
try
{
ClientContext publishingContext = new ClientContext("https://company.sharepoint.com/sites/test");
SecureString securePassword = Utilities.GetSecurePassword("PASSWORD");
publishingContext.Credentials = new SharePointOnlineCredentials("username@company.onmicrosoft.com", securePassword);
List oList = publishingContext.Web.Lists.GetByTitle("Pages");
CamlQuery camlQuery = new CamlQuery();
camlQuery.ViewXml = "<View><Query><Where><Eq><FieldRef Name='ID'/><Value Type='Counter'>1519</Value></Eq></Where></Query><RowLimit>1</RowLimit></View>";
ListItemCollection collListItem = oList.GetItems(camlQuery);
publishingContext.Load(collListItem);
publishingContext.ExecuteQuery(); // Gives 400 Bad Request here...
// Do something with collListItem
}
catch(Exception ex)
{
Console.WriteLine(ex);
}
}
Я считаю, что это как-то связано с Visual Studio (.Net Framework или Microsoft.SharePoint.Client.dll
lib), которому не нравятся самозаверяющие сертификаты.Итак, я скачал сертификат, который загружался, когда находился в моей корпоративной сети, и установил его на мою машину.Это тоже не помогло.
Кто-нибудь сталкивался с подобной проблемой при использовании библиотеки Microsoft.SharePoint.Client.dll
для подключения к SharePoint, который размещен с использованием самозаверяющего сертификата?