Régénération d'un certificat auto-signé
Exécutez les commandes suivantes pour régénérer les fichiers orchestration.csr et orchestration.crt dans le répertoire <Emplacement_installation_ThingWorx_Flow>/SSL :
1. Sauvegardez le répertoire <Emplacement_installation_ThingWorx_Flow>/SSL.
2. Supprimez tous les fichiers du répertoire <Emplacement_installation_ThingWorx_Flow>/SSL.
3. A l'aide de l'utilitaire openssl, exécutez les commandes suivantes pour générer les certificats :
◦ <openssl_cmd> req -nodes -sha256 -newkey rsa:2048 -config <openssl_conf> -keyout "<Emplacement_installation_ThingWorx_Flow>/SSL/orchestration.key" -subj "/C=<C>/O=<O>/OU=<OU>/CN=<CN>" -out "<Emplacement_installation_ThingWorx_Flow>/SSL/orchestration.csr"
◦ <openssl_cmd> x509 -req -days 365 -sha256 -in "<Emplacement_installation_ThingWorx_Flow>/SSL/orchestration.csr" -signkey "<Emplacement_installation_ThingWorx_Flow>/SSL/orchestration.key" -out "<Emplacement_installation_ThingWorx_Flow>/SSL/orchestration.crt"
, où
<C> : nom de pays (code à deux lettres)
<O> : nom de l'organisation (par exemple, entreprise)
<OU> : nom de l'unité d'organisation (par exemple, section)
<CN> : nom commun (par exemple, nom de domaine complet du serveur) ; nom de domaine complet (par exemple, win-f3ai9djq75j)
<openssl_cmd> : Windows : exécutez cd C:/opscode/chef/embedded/bin/openssl ou cd C:/cinc-project/cinc/embedded/bin, saisissez openssl et exécutez la commande ci-dessus.
Linux : saisissez openssl et exécutez la commande ci-dessus.
<openssl_conf> : Windows : C:/opscode/chef/embedded/ssl/openssl.cnf ou C:/cinc-project/cinc/embedded/ssl/openssl.cnf
Linux : /etc/pki/tls/openssl.cnf
Par exemple :
Windows : C:/opscode/chef/embedded/bin/openssl req -nodes -sha256 -newkey rsa:2048 -config C:/opscode/chef/embedded/ssl/openssl.cnf -keyout "C:\orchestration.key" -subj "/C=US/O=PTC/OU=IT Department/CN=WIN-F3AI9DJQ75J" -out "C:\orchestration.csr"
Windows : C:/opscode/chef/embedded/bin/openssl x509 -req -days 365 -sha256 -in "C:\PROGRA~1\twx\THINGW~2/SSL/orchestration.csr" -signkey "C:\orchestration.key" -out "C:\orchestration.crt"
4. Pour ThingWorx Flow 9.1.0 et versions ultérieures, et ThingWorx Flow 9.0.3 et versions ultérieures :
a. Dans le dossier <Emplacement_installation_ThingWorx_Flow>/SSL, créez le fichier nginx-keyfile et un nouveau mot de passe pour la clé privée chiffrée.
b. A l'aide de l'utilitaire openssl, exécutez la commande suivante pour chiffrer la clé privée nginx :
<openssl_cmd> rsa -aes256 -passout pass:<Même mot de passe que celui défini dans le fichier nginx-keyfile> -in "<Emplacement_installation_ThingWorx_Flow>/SSL/orchestration.key" -out "<Emplacement_installation_ThingWorx_Flow>/SSL/orchestration_enc.key"
c. Supprimez le fichier orchestration.key et renommez le fichier orchestration_enc.key en orchestration.key.
5. (Linux uniquement) Définissez les autorisations suivantes :
◦ sudo chown flowuser:flowuser <Emplacement_installation_ThingWorx_Flow>\SSL\orchestration.crt, où flowuser correspond à l'utilisateur qui a exécuté le programme d'installation ThingWorx Flow.
◦ sudo chown flowuser:flowuser <Emplacement_installation_ThingWorx_Flow>\SSL\orchestration.key
, où flowuser correspond à l'utilisateur qui a exécuté le programme d'installation de ThingWorx Flow.
◦ sudo chcon -t httpd_sys_content_t <Emplacement_installation_ThingWorx_Flow>\SSL\orchestration.crt
◦ sudo chcon -t httpd_sys_content_t <Emplacement_installation_ThingWorx_Flow>\SSL\orchestration.key
◦ Pour ThingWorx Flow 9.1.0 et ThingWorx Flow 9.03 et versions ultérieures :
▪ sudo chown flowuser:flowuser <Emplacement_installation_ThingWorx_Flow>/SSL/nginx-keyfile
, où flowuser correspond à l'utilisateur qui a exécuté le programme d'installation de ThingWorx Flow.
▪ sudo chcon -t httpd_sys_content_t <Emplacement_installation_ThingWorx_Flow>/SSL/nginx-keyfile
6. Modifiez le fichier extra.crt situé dans le dossier <Répertoire d'installation de ThingWorx Flow>\SSL et remplacez le contenu du premier certificat par un nouveau contenu de certificat auto-signé.
7. Redémarrez les services RabbitMQ, ThingWorx-Flow, Nginx et ThingWorx-Foundation.