Доступ к безопасным программам Используя HTTPS

Соединение с экземпляром MATLAB® Production Server™ по HTTPS обеспечивает безопасный канал для выполнения функций MATLAB. Установить связь HTTPS с экземпляром MATLAB Production Server:

  1. Гарантируйте, что сервер сконфигурирован, чтобы использовать HTTPS.

  2. Установите необходимые учетные данные в клиентской системе.

  3. Сконфигурируйте среду.NET клиента, чтобы использовать учетные данные.

  4. Создайте прокси программы использование https:// программы URL.

Сконфигурируйте клиентскую среду для SSL

Как минимум клиент требует корневого CA сервера (Центр сертификации) в одном из хранилищ сертификатов приложения.

Чтобы соединиться с сервером, который требует клиентской аутентификации, клиенту нужен сертификат со знаком в одном из хранилищ сертификатов приложения.

Чтобы управлять сертификатами клиента, используйте makecert.

Установите безопасную связь прокси

Создайте безопасную связь прокси с экземпляром MATLAB Production Server при помощи URL https:// для желаемой программы:

MWClient client = new MWHttpClient();
Uri secureUri = new Uri("https://host:port/myProgram")
MyProxy sslProxy = client.createProxy<MyProxy>(secureUri);

sslProxy проверяет хранилища сертификатов приложения, чтобы выполнить аутентификацию сервера HTTPS. Если аутентификация клиента запросов к серверу, квитирование HTTPS перестанет работать, потому что у клиента нет сертификата.

Установите безопасное соединение Используя аутентификацию клиента

Позволять клиенту соединиться с экземпляром сервера, требующим аутентификации клиента:

  1. Обеспечьте реализацию интерфейса MWSSLConfig, который возвращает допустимый клиентский набор сертификата.

  2. Используйте конструктора MWHttpClient, который берет экземпляр вашей реализации MWSSLConfig, чтобы создать связь с экземпляром сервера.

  3. Создайте прокси с помощью https:// программы URL.

Реализуйте интерфейс MWSSLConfig

Интерфейс MWSSLConfig имеет одно свойство, ClientCertificates, типа X509CertificateCollection. Обеспечьте реализацию, которая возвращает сертификаты клиента.

public class ClientSSLConfig : MWSSLConfig
{
  public X509CertificateCollection ClientCertificates
  {
    get
    {
      X509Certificate2 clientCert = new X509Certificate2("C:\\temp\\certificate.pfx");
      return new X509Certificate2Collection(clientCert);
    }
  }
}

Установите безопасное соединение

Создайте безопасную связь прокси с экземпляром MATLAB Production Server при помощи конструктора, который берет экземпляр вашей реализации MWSSLConfig и создания прокси с URL https:// для желаемой программы:

MWClient client = new MWHttpClient(new ClientSSLConfig());
Uri secureUri = new Uri("https://host:port/myProgram")
MyProxy sslProxy = client.createProxy<MyProxy>(secureUri); 

sslProxy использует базу доверенных сертификатов локального пользователя, чтобы выполнить аутентификацию сервера HTTPS. Если аутентификация клиента запросов к серверу, клиент передает сертификаты в наборе, возвращенном вашей реализацией интерфейса MWSSLConfig.

Реализуйте усовершенствованные функции аутентификации

Свойство ServicePointManager.ServerCertificateValidationCallback.NET позволяет вам, добавляют дополнительные уровни безопасности к:

  • Отключите протоколы SSL, чтобы защитить от использования POODLE.

    System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
    MWClient client = new MWHttpClient();
    
  • Выполните альтернативную верификацию имени узла, чтобы аутентифицировать серверы, когда имя узла URL не будет совпадать с именем узла сертификата

  • Гарантируйте, что клиент осуществляет обмен данными только с определенными серверами

Свойство ServerCertificateValidationCallback является делегатом, который обрабатывает сертификаты во время квитирования SSL. По умолчанию никакой делегат не реализован, таким образом, никакая пользовательская обработка не выполняется. Можно обеспечить реализацию, чтобы выполнить любую пользовательскую требуемую авторизацию.

Внешние веб-сайты