ThingWorx Navigate View PLM App Extension > Configurando o ThingWorx Navigate View PLM App Extension com sistemas SAP > Usando SSL para comunicação segura
  
Usando SSL para comunicação segura
Seu site pode usar SSL bidirecional para comunicação segura entre o servidor ThingWorx e o aplicativo do Windchill. A PTC recomenda o uso de SSL ao trabalhar em um ambiente de produção. A extensão pode usar SSL para autenticar os servidores um com o outro mutualmente e proteger a própria comunicação
Uma conexão SSL requer confiança entre os sistemas. Para isto, o template de coisa WindchillConnector deve ser configurado para fazer referência ao keystore e truststore Java mantidos no servidor ThingWorx, que fornece chaves para a transação. O servidor HTTP do servidor Windchill deve ser configurado para confiar nestas chaves.
As configurações de SSL variam muito e este guia não tem a intenção de descrever todas as opções disponíveis para uma configuração de SSL. Em vez disso, os passos a seguir fornecem uma visão global do processo para a configuração de SSL, além de haver um exemplo detalhado disponível em Configuração de exemplo usando SSL para comunicação segura.
Este procedimento supõe que o ThingWorx e o Windchill sejam configurados para usar SSL com suas comunicações padrão. Ele também depende de scripts de configuração fornecidos com a versão mais recente do servidor HTTP da PTC. O servidor HTTP da PTC mais recente é incluído com o Windchill 11.0 M020 e com as liberações de CPS mais recentes do Windchill 10.2.
* 
Não é necessário usar a mesma chave SSL para a comunicação primária do Windchill ou ThingWorx e a comunicação entre o ThingWorx e o Windchill discutida aqui. Por exemplo, podem ser usados um certificado comercial curinga confiável para o Windchill e um certificado autoassinado entre o ThingWorx e o Windchill.
Configurando o ThingWorx
* 
Esta configuração aplica-se quando você estiver usando tarefas do Info*Engine somente com os conectores antigos.
O ThingWorx requer um e keystore e truststore Java.
Crie-os no mesmo servidor do ThingWorx.
Crie-os no sistema de arquivos local.
Faça referência a eles na configuração do template de coisa WindchillConnector usando para conectar o ThingWorx ao sistema Windchill com comunicação segura.
1. No ThingWorx Composer, edite o template de coisa WindchillConnector que representa que a conexão com o sistema Windchill está sendo configurada.
2. Especifique o caminho ThingWorxKeyStore.jks (veja um exemplo na captura de tela), além de especificar uma senha.
3. Especifique o caminho ThingWorxTrustStore.jks (veja um exemplo na captura de tela), além de especificar uma senha.
* 
É recomendado, não obrigatoriamente, que o tipo seja JKS.
4. Especifique o endereço Windchillhttps e a porta SSL.
5. Salve a coisa.
6. Visualize o log de aplicativo do ThingWorx para certificar-se de que nenhum erro de configuração exista.
7. Lance o ptc-connected-demo-mashup para verificar a configuração SSL confiável entre ThingWorxWindchill.
* 
Para realizar um configuração com novos conectores do Windchill, veja Configure o ThingWorx Navigate com autenticação do Windchill.
Configurando o Windchill
No servidor Windchill, configure para que a autenticação SSL no servidor HTTP da PTC e no motor servlet incorporado da PTC confiem na chave e no certificado do ThingWorx.
* 
Exemplos de código foram reformatados para caber na página e podem conter números de linha, caracteres de edição ocultos (como caracteres de tabulação e fim de linha) e espaços extras. Se você recortar e colar o código, procure por estes caracteres e remova-os antes de tentar usar o exemplo em seu aplicativo.
1. Atualize a configuração do servidor HTTP da PTC para fazer referência ao arquivo de certificados CA.
Para liberações do Windchill 10.2:
1. Navegue para <HTTPSERVER_HOME>/conf/extra/httpd-ssl.conf e edite-o.
2. Remova o comentários da entrada SSLCACertificateFile para que ela faça referência ao arquivo ca-bundle.crt. Anote o local do arquivo ca-bundle.crt.
3. Salve as mudanças.
Para o Windchill 11.0 M020 e posterior:
1. Crie um arquivo em <HTTPSERVER_HOME>\conf\ca-bundle.crt. Este local é recomendado, mas não é requerido.
2. Salve o ca-bundle.crt.
3. Crie um arquivo sslclientauth.conf em <HTTPSERVER_HOME>\conf\sslvhostconf.d.
4. Adicione SSLCACertificateFile <PATH_TO>\ca-bundle.crt para fazer referência ao arquivo ca- bundle.crt.
5. Salve as mudanças.
2. Adicione o certificado do ThingWorx à lista de certificados CA confiáveis do servidor HTTP da PTC.
a. Edite o arquivo ca-bundle.crt referenciado anteriormente na entrada SSLCACertificateFile.
* 
Se o arquivo ainda não existe, crie-o juntamente como os diretórios requeridos.
b. Adicione a este arquivo o conteúdo do certificado do ThingWorx mantido no truststore deste arquivo.
c. Salve as mudanças.
3. Configure o servidor HTTP da PTC para exportar as informações de certificado para o Windchill.
a. Edite <HTTPSERVER_HOME>/conf/extra/httpd-ssl.conf.
b. Encontre a linha com SSLOptions.
c. Remova o comentário da linha com SSLOptions +ExportCertData.
Por exemplo:
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. Salve as mudanças.
4. Configure o servidor HTTP da PTC para o URL sslClientAuth.
a. Encontre o nome do aplicativo web do Windchill em <windchill-home>/codebase/wt.properties na entrada wt.webapp.name.
b. Abra uma janela de comando ou shell e insira o comando a seguir:
cd <HTTPSERVER_HOME>ant -f webAppConfig.xml -DappName=[windchill-web-app]
-Dresource=sslClientAuth -DresourceAuthType=sslClientAuth addAuthResource
c. Configure o Windchill para confiar no certificado do ThingWorx.
a. Edite <windchill-home>/codebase/WEB-INF/web.xml.
b. Encontre <filter-name>TrustedSSLAuthFilter</filtername>.
c. Inclua um elemento <init-param> adicional no elemento já existente, em que [thingworx-cert-name] é o nome do certificado do ThingWorx:
<init-param><param-name>trustedSubjectPattern.1</param-name><param-value> [thingworx-cert-name]</param-value></init-param>
d. Salve as mudanças.