ThingWorx Navigate View PLM App Extension > Configurations de ThingWorx Navigate View PLM App Extension avec des systèmes SAP > Utilisation de SSL pour la sécurisation des communications
  
Utilisation de SSL pour la sécurisation des communications
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, le modèle d'objet WindchillConnector doit être configuré pour faire référence aux truststores et aux clés 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 ce guide ne tente pas de décrire toutes les options disponibles dans une configuration SSL. Au lieu de cela, les étapes suivantes présentent le processus de configuration SSL. Un exemple détaillé est disponible dans la rubrique Exemple de configuration utilisant SSL pour la sécurisation des communications.
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 inclus dans Windchill version 11.0 M020 et les versions du groupe de correctifs critiques de Windchill version 10.2 les plus récentes.
* 
Il n'est pas nécessaire d'utiliser la même clé SSL pour les communications principales de Windchill ou ThingWorx et pour les communications entre ThingWorx et Windchill que nous avons abordées dans le présent document. Par exemple, vous pouvez utiliser un certificat de caractère générique commercial approuvé pour Windchill et un certificat autosigné pour les communications entre ThingWorx et Windchill.
Configuration de ThingWorx
* 
Cette configuration s'applique lorsque vous utilisez des tâches Info*Engine avec les anciens connecteurs.
ThingWorx requiert des truststores et des KeyStores Java.
Créez-les sur le même serveur que ThingWorx.
Créez-les dans le système de fichiers local.
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.
1. Dans ThingWorx Composer, modifiez le modèle d'objet WindchillConnector qui représente la connexion au système Windchill en cours de configuration.
2. Spécifiez le chemin du fichier ThingWorxKeyStore.jks (voir l'exemple dans la capture d'écran), en spécifiant également le mot de passe.
3. Spécifiez le chemin du fichier ThingWorxTrustStore.jks (voir l'exemple dans la capture d'écran), en spécifiant également le mot de passe.
* 
Nous recommandons le type JKS, mais ce n'est pas obligatoire.
4. Spécifiez l'adresse Windchill au format https, ainsi que le port SSL.
5. Enregistrez l'objet.
6. Affichez le journal d'application de ThingWorx, afin de confirmer l'absence de toute erreur de configuration.
7. Démarrez ptc-connected-demo-mashup afin de vérifier la configuration SSL approuvée entre ThingWorx et Windchill.
* 
Pour effectuer une configuration avec de nouveaux connecteurs Windchill, consultez la rubrique Configuration de ThingWorx Navigate avec l'authentification Windchill.
Configuration de Windchill
Sur le serveur Windchill, configurez l'authentification SSL dans le serveur HTTP PTC et le moteur de servlet intégré 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).
Pour les versions pour Windchill 10.2 :
1. Localisez et modifiez le fichier <HTTPSERVER_HOME>/conf/extra/httpd-ssl.conf.
2. Supprimez les marques de commentaire de l'entrée SSLCACertificateFile de façon qu'elle fasse référence au fichier ca-bundle.crt. Notez l'emplacement du fichier ca-bundle.crt.
3. Enregistrez les modifications.
Pour Windchill 11.0 M020 et versions ultérieures :
1. Créez un fichier dans le fichier <HTTPSERVER_HOME>\conf\ca-bundle.crt. Cet emplacement est recommandé, mais non obligatoire.
2. Enregistrez le fichier ca-bundle.crt.
3. Créez un fichier sslclientauth.conf dans le fichier <HTTPSERVER_HOME>\conf\sslvhostconf.d.
4. Ajoutez SSLCACertificateFile <PATH_TO>\ca-bundle.crt dans ce dernier, afin qu'il fasse référence au fichier ca-bundle.crt.
5. Enregistrez les modifications.
2. Ajoutez le certificat 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. Dans ce fichier, ajoutez le contenu du certificat ThingWorx inclus dans le truststore.
c. Enregistrez les modifications.
3. Configurez le serveur HTTP PTC pour exporter les informations du certificat vers Windchill.
a. Modifiez le fichier <HTTPSERVER_HOME>/conf/extra/httpd-ssl.conf.
b. Recherchez la ligne incluant la chaîne SSLOptions.
c. Décommentez la ligne incluant la chaîne SSLOptions +ExportCertData.
Par exemple :
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. Enregistrez les modifications.
4. 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.
a. Modifiez le fichier <windchill-home>/codebase/WEB-INF/web.xml.
b. Recherchez la chaîne <filter-name>TrustedSSLAuthFilter</filtername>.
c. Ajoutez un élément <init-param> supplémentaire après l'élément existant, dans lequel [thingworx-cert-name] correspond au nom du certificat ThingWorx :
<init-param><param-name>trustedSubjectPattern.1</param-name><param-value> [thingworx-cert-name]</param-value></init-param>
d. Enregistrez les modifications.