Utilización de SSL para la comunicación segura
|
Este tema se aplica a los sistemas con la autenticación de Windchill configurada.
|
Introducción
La sede puede utilizar SSL bidireccional para proteger la comunicación entre el servidor ThingWorx y la aplicación de Windchill. PTC recomienda el uso de SSL cuando se trabaje en un entorno de producción. La extensión puede utilizar SSL para autenticar mutuamente los servidores entre sí y para proteger la propia comunicación.
Una conexión SSL requiere que ambos sistemas sean de confianza entre sí. Para ello, SwaggerConnector y ptc-windchill-Odata-connector se deben configurar de modo que hagan referencia a los almacenes de confianza y de claves Java incluidos en el servidor ThingWorx y que proporcionan las claves para la transacción. El servidor HTTP del servidor Windchill se debe configurar de modo que confíe en dichas claves.
Las configuraciones SSL varían significativamente y en este tema no se pretende describir todas las opciones disponibles en una configuración SSL. En su lugar, en los siguientes pasos se proporciona un resumen del proceso para configurar SSL.
En este procedimiento se supone que ThingWorx y Windchill se han configurado para utilizar SSL para las comunicaciones estándar. Además, se depende en los scripts de configuración que se suministran con la versión más reciente del servidor HTTP de PTC. El servidor HTTP de PTC más reciente se incluye con Windchill 11.0 M030 y versiones posteriores.
|
• Se puede utilizar un certificado de confianza comercial de comodín para Windchill.
• Se puede utilizar un certificado autofirmado o un certificado de confianza comercial de comodín entre ThingWorx y Windchill
|
Configuración de ThingWorx con KeyStore y TrustStore
ThingWorx requiere almacenes de confianza y almacenes de claves Java. Las instrucciones para crear estos ficheros se encuentran en el tema
Creación de ficheros KeyStore y TrustStore para ThingWorx Navigate.
1. Cree una instancia de TrustStore para ThingWorx e importe el certificado SSL de Windchill.
2. Cree una instancia de KeyStore para ThingWorx y genere un par de claves en ella.
3. Configure Windchill para confiar en ThingWorx.
4. Haga referencia a ellos en la configuración de la plantilla de cosa WindchillConnector que se utiliza para conectar ThingWorx al sistema Windchill que se protege.
Configuración de Windchill para la autenticación del cliente
En el servidor Windchill, configure la autenticación SSL en el servidor HTTP de PTC para confiar en la clave y el certificado de ThingWorx.
|
El formato de los ejemplos de código se ha cambiado para que se ajuste a la página. Asimismo, es posible que en los ejemplos se incluyan números de línea, caracteres de edición ocultos (como tabulaciones y caracteres de fin de línea) y espacios adicionales. Si se corta y se pega código, es necesario buscar dichos caracteres y quitarlos antes de intentar usar el ejemplo en la aplicación.
|
1. Actualice la configuración del servidor HTTP de PTC para que haga referencia al fichero de certificados de CA.
a. Cree un fichero en <HTTPSERVER_HOME>\conf\ca-bundle.crt. Esta ubicación es recomendable, pero no obligatoria.
b. Guarde ca-bundle.crt.
c. Cree un fichero sslclientauth.conf en <HTTPSERVER_HOME>\conf\sslvhostconf.d.
d. Añada SSLCACertificateFile a <RUTA_A>\ca-bundle.crt de modo que haga referencia al fichero ca-bundle.crt. Por ejemplo:
SSLCACertificateFile
<HTTP_Server>\conf\ca-bundle.crt
e. Guarde los cambios.
2. Añada el certificado de cliente ThingWorx a la lista de certificados de CA de confianza correspondiente al servidor HTTP de PTC.
a. Edite el fichero ca-bundle.crt al que se señaló anteriormente en la entrada SSLCACertificateFile.
|
Si el fichero aún no existe, créelo. Cree también los directorios obligatorios.
|
b. Edite ca-bundle.crt y pegue el contenido del fichero PEM del certificado de cliente ThingWorx.
c. Guarde los cambios.
3. Configure el servidor HTTP de PTC para el URL de sslClientAuth.
a. Busque el nombre de la aplicación Web de Windchill en <windchill-home>/codebase/wt.properties en la entrada wt.webapp.name.
b. Abra un shell o un símbolo del sistema e introduzca lo siguiente:
cd <HTTPSERVER_HOME>ant -f webAppConfig.xml -DappName=[windchill-web-app] -Dresource=sslClientAuth -DresourceAuthType=sslClientAuth addAuthResource
c. Configure Windchill para confiar en el certificado de ThingWorx.
i. Edite <windchill-home>/codebase/WEB-INF/web.xml.
ii. Busque <filter-name>TrustedSSLAuthFilter</filtername>.
iii. Añada un elemento <init-param> adicional después del elemento existente, donde [Subject] es el nombre del certificado.
Se puede utilizar el siguiente ejemplo de referencia:
<init-param>
<param-name>trustedSubjectPattern.1</param-name>
<param-value>[Subject]</param-value>
</init-param>
En el ejemplo anterior, reemplace [Subject] por el nombre del certificado que está presente en el Asunto del certificado. Por ejemplo, si el Asunto del certificado es CN=navigate.domain.com, reemplace [Subject] por CN=navigate.domain.com.
d. Guarde los cambios.
e. Reinicie Windchill y el servidor HTTP de PTC.