ThingWorx Navigate View PLM App Extension > Конфигурирование ThingWorx Navigate View PLM App Extension с системами SAP > Использование SSL для безопасного взаимодействия
  
Использование SSL для безопасного взаимодействия
Сайт может использовать двухсторонний протокол SSL для защиты обмена данными между сервером ThingWorx и приложением Windchill. PTC рекомендует использовать SSL при работе в производственной среде. Расширение может использовать SSL как для взаимной аутентификации серверами друг друга, так и для защиты самого взаимодействия.
Для использования SSL-соединения требуется, чтобы обе системы доверяли друг другу; чтобы сделать это, необходимо сконфигурировать шаблон вещи WindchillConnector, чтобы он был привязан к ключу Java, а доверительные хранилища содержались на сервере ThingWorx, предоставляющем ключи для транзакции. Сервер HTTP Server на сервере Windchill должен быть сконфигурирован, чтобы доверять этим ключам.
Конфигурации SSL значительно варьируются, и в данном руководстве не делается попытки описать все опции, доступные в конфигурации SSL. Вместо этого приведены следующие шаги, позволяющие ознакомиться с основными этапами процесса конфигурирования SSL, и подробный пример доступен в разделе Пример конфигурации с использованием SSL для безопасных взаимодействий.
Эта процедура предполагает, что обе системы ThingWorx и Windchill сконфигурированы для использования SSL для стандартных взаимодействий. В ней также используются сценарии конфигурации, которые поступают с самой последней версией PTC HTTP Server. Самая последняя версия PTC HTTP Server включена вместе с Windchill 11.0 M020 и самыми последними выпусками CPS для Windchill 10.2.
* 
Нет необходимости использовать один и тот же ключ SSL для основного взаимодействия Windchill или ThingWorx и для обсуждаемого здесь взаимодействия ThingWorx с Windchill. Например, коммерческий доверенный подстановочный сертификат может использоваться для Windchill, а самоподписанный сертификат может использоваться для взаимодействия между ThingWorx и Windchill.
Конфигурирование ThingWorx
* 
Эта конфигурация применяется при использовании заданий Info*Engine только со старыми соединителями.
Для ThingWorx требуются хранилища ключа Java и хранилища доверия.
Создайте их на том же самом сервере, который используется для ThingWorx.
Создайте их в локальной файловой системе.
Используйте их как ссылку в конфигурации шаблона вещи WindchillConnector, используемого для соединения ThingWorx с системой Windchill, для которой устанавливается защита.
1. В ThingWorx Composer отредактируйте шаблон вещи WindchillConnector, представляющей подключение к конфигурируемой системе Windchill.
2. Укажите путь к файлу ThingWorxKeyStore.jks (см. пример в скриншоте) и задайте пароль.
3. Укажите путь к файлу ThingWorxTrustStore.jks (см. пример в скриншоте) и задайте пароль.
* 
Рекомендуется, но не является обязательным, чтобы использовался тип JKS.
4. Укажите адрес Windchillhttps и порт SSL.
5. Сохраните вещь.
6. Просмотрите журнал приложения ThingWorx, чтобы убедиться в отсутствии ошибок конфигурации.
7. Запустите ptc-connected-demo-mashup, чтобы убедиться, что ThingWorx - доверенная SSL-конфигурация Windchill.
* 
Сведения о конфигурировании с новыми соединителями Windchill см. в разделе Конфигурирование ThingWorx Navigate с аутентификацией Windchill.
Конфигурирование Windchill
На сервере Windchill сконфигурируйте аутентификацию SSL для PTC HTTP Server и для PTC Embedded Servlet Engine, чтобы ключ и сертификат ThingWorx считались доверенными.
* 
Примеры кода переформатированы для соответствия размерам страницы и могут содержать номера строк, скрытые символы редактирования (такие как символы табуляции и конца строки) и лишние пробелы. При вырезании и вставке кода проверьте, нет ли этих символов, и удалите их, прежде чем попытаетесь использовать этот пример в своем приложении.
1. Обновите конфигурацию PTC HTTP Server для привязки к файлу сертификации CA.
Для версий Windchill 10.2 выполните следующие действия.
1. Перейдите к файлу <HTTPSERVER_HOME>/conf/extra/httpd-ssl.conf и отредактируйте его.
2. Раскомментируйте запись SSLCACertificateFile, чтобы она была привязана к файлу ca-bundle.crt. Обратите внимание на расположение файла ca-bundle.crt.
3. Сохраните изменения.
Для Windchill 11.0 M020 и более поздних версий:
1. Создайте файл в <HTTPSERVER_HOME>\conf\ca-bundle.crt. Это расположение рекомендуется, но не является обязательным.
2. Сохраните файл ca-bundle.crt.
3. Создайте файл sslclientauth.conf в <HTTPSERVER_HOME>\conf\sslvhostconf.d.
4. Добавьте в него SSLCACertificateFile <PATH_TO>\ca-bundle.crt, чтобы он ссылался на файл ca- bundle.crt.
5. Сохраните изменения.
2. Добавьте сертификат ThingWorx в список сертификатов доверенного CA для PTC HTTP Server.
a. Отредактируйте файл ca-bundle.crt, ссылка на который была указана ранее в записи SSLCACertificateFile.
* 
Если этот файл еще не существует, создайте его и все необходимые каталоги.
b. Присоедините содержимое сертификата ThingWorx, находящегося в хранилище доверия, к этому файлу.
c. Сохраните изменения.
3. Сконфигурируйте PTC HTTP Server для экспорта информации о сертификате в Windchill.
a. Отредактируйте <HTTPSERVER_HOME>/conf/extra/httpd-ssl.conf.
b. Найдите строку с SSLOptions.
c. Раскомментируйте строку с SSLOptions +ExportCertData.
Например:
SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire<FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars/FilesMatch><Directory "C:/ptc/Windchill_10.2/HTTPServer/cgi-bin"> SSLOptions +StdEnvVars</Directory>
d. Сохраните изменения.
4. Сконфигурируйте PTC HTTP Server для URL-адреса sslClientAuth.
a. Найдите наименование веб-приложения Windchill в файле <windchill-home>/codebase/wt.properties в записи wt.webapp.name.
b. Откройте оболочку или командную строку и введите следующую команду:
cd <HTTPSERVER_HOME>ant -f webAppConfig.xml -DappName=[windchill-web-app]
-Dresource=sslClientAuth -DresourceAuthType=sslClientAuth addAuthResource
c. Сконфигурируйте Windchill, чтобы сертификат ThingWorx стал доверенным.
a. Отредактируйте файл <windchill-home>/codebase/WEB-INF/web.xml.
b. Найдите <filter-name>TrustedSSLAuthFilter</filtername>.
c. Добавьте дополнительный элемент <init-param> после существующего элемента, где [thingworx-cert-name] - это наименование сертификата ThingWorx:
<init-param><param-name>trustedSubjectPattern.1</param-name><param-value> [thingworx-cert-name]</param-value></init-param>
d. Сохраните изменения.