Utilisation de SSL pour la sécurisation des communications
* 
Cette rubrique s'applique aux systèmes dont l'authentification Windchill est configurée.
Introduction
Pour sécuriser les communications entre le serveurThingWorx et l'application Windchill, votre site peut recourir au mécanisme SSL bidirectionnel. PTC vous recommande d'utiliser SSL lorsque vous travaillez dans un environnement de production. L'extension peut utiliser SSL pour effectuer l'authentification mutuelle des serveurs les uns auprès des autres, mais également pour protéger les communications elles-mêmes.
Pour que la connexion SSL soit établie, les deux systèmes doivent être approuvés l'un par l'autre. A cette fin, SwaggerConnector et ptc-windchill-Odata-connector doivent être configurés pour référencer les fichiers KeyStore et TrustStore Java figurant sur le serveur ThingWorx fournissant les clés pour la transaction. Le serveur HTTP hébergé par le serveur Windchill doit être configuré pour approuver ces clés.
Les configurations SSL varient grandement et cette rubrique ne tente pas de décrire toutes les options disponibles dans une configuration SSL. A l'inverse, les étapes suivantes présentent une vue d'ensemble du processus de configuration SSL.
Cette procédure part également du principe que ThingWorx et Windchill sont configurés pour utiliser SSL dans le cadre de leurs communications standard. Elle s'appuie également sur les scripts de configuration fournis avec la version la plus récente du serveur HTTP PTC. Le serveur HTTP PTC le plus récent est disponible avec Windchill 11.0 M030 et versions ultérieures.
* 
Vous pouvez utiliser un certificat de caractère générique commercial approuvé pour Windchill.
Vous pouvez utiliser un certificat auto-signé ou un certificat de caractère générique commercial approuvé entre ThingWorx et Windchill.
Configuration de ThingWorx avec des KeyStore et TrustStore
ThingWorx requiert des TrustStores et des KeyStores Java. Les instructions utiles pour la création de ces fichiers sont disponibles à la rubrique Création de fichiers KeyStore et TrustStore pour ThingWorx Navigate.
1. Créez un TrustStore pour ThingWorx et importez le certificat SSL Windchill.
2. Créez un KeyStore pour ThingWorx et générez une paire de clés dans le KeyStore.
3. Configurez Windchill pour approuver ThingWorx.
4. Référencez-les dans la configuration du modèle d'objet WindchillConnector utilisé pour connecter ThingWorx au système Windchill en cours de sécurisation.
Configuration de Windchill pour l'authentification du client
Sur le serveur Windchill, configurez l'authentification SSL sur le serveur HTTP PTC de manière à approuver la clé et le certificat ThingWorx.
* 
Certains exemples de code de ce guide ont été reformatés de façon à s'adapter à la page et sont donc susceptibles de contenir des numéros de ligne, des caractères d'édition masqués (tabulations et caractères de fin de ligne, par exemple), ainsi que des espaces parasites. Si vous coupez et collez du code de ce manuel, recherchez ces caractères et supprimez-les avant d'utiliser l'exemple de code dans votre application.
1. Mettez à jour la configuration du serveur HTTP PTC, afin qu'elle fasse référence au fichier de certificats de l'autorité de certificats (CA).
a. Créez un fichier dans le fichier <HTTPSERVER_HOME>\conf\ca-bundle.crt. Cet emplacement est recommandé, mais non obligatoire.
b. Enregistrez le fichier ca-bundle.crt.
c. Créez un fichier sslclientauth.conf dans le fichier <HTTPSERVER_HOME>\conf\sslvhostconf.d.
d. Ajoutez SSLCACertificateFile à <PATH_TO>\ca-bundle.crt , afin qu'il fasse référence au fichier ca-bundle.crt. Par exemple :
SSLCACertificateFile
<HTTP_Server>\conf\ca-bundle.crt
e. Enregistrez les modifications.
2. Ajoutez le certificat de client ThingWorx à la liste de certificats CA approuvés du serveur HTTP PTC.
a. Modifiez le fichier ca-bundle.crt vers lequel vous pointiez précédemment dans l'entrée SSLCACertificateFile.
* 
Si le fichier n'existe pas encore, créez-le, ainsi que tous les répertoires requis.
b. Modifiez ca-bundle.crt et collez le contenu du fichier PEM du certificat de client ThingWorx.
c. Enregistrez les modifications.
3. Configurez le serveur HTTP PTC pour l'URL de sslClientAuth.
a. Recherchez le nom de l'application Web Windchill dans le répertoire <windchill-home>/codebase/wt.properties, dans l'entrée wt.webapp.name.
b. Ouvrez une invite de commande ou un shell, et saisissez ce qui suit :
cd <HTTPSERVER_HOME>ant -f webAppConfig.xml -DappName=[windchill-web-app] -Dresource=sslClientAuth -DresourceAuthType=sslClientAuth addAuthResource
c. Configurez Windchill de manière à approuver le certificat ThingWorx.
i. Modifiez le fichier <windchill-home>/codebase/WEB-INF/web.xml.
ii. Recherchez la chaîne <filter-name>TrustedSSLAuthFilter</filtername>.
iii. Ajoutez un élément <init-param> supplémentaire après l'élément existant, dans lequel [cert-name] correspond au nom de votre certificat.
Vous pouvez utiliser les exemples suivants pour référence :
Exemple 1
Exemple 2
<init-param>
<param-name>trustedSubjectPattern.1</param-name>
<param-value>[cert-name]</param-value>
</init-param>
Dans l'exemple ci-dessus, remplacez [cert-name] par le nom du certificat présent dans l'Objet de votre certificat. Par exemple, si l'Objet de votre certificat est CN=navigate.domain.com, remplacez [cert-name] par navigate.domain.com.
<init-param>
<param-name>trustedSubjectPattern.1</param-name>
<param-value>.*[cert-name].*</param-value>
</init-param>
Dans l'exemple ci-dessus, remplacez [cert-name] par le nom du certificat présent dans l'Objet de votre certificat. Par exemple, si l'Objet de votre certificat est CN=navigate.domain.com, remplacez [cert-name] par navigate.
d. Enregistrez les modifications.
e. Redémarrez Windchill et le serveur HTTP PTC.
Est-ce que cela a été utile ?