01. TAG SSLCONFIGURE
- Durante a configuração do dessa tag em seu 'appserver.ini' observe as validações do seu certificado e quais são os níveis de criptografia que permite a utilização.
- Após estar tudo funcionando é indicado desabilitar o 'verbose' para evitar a atualização/gravação de mensagens informativas em seu 'console.log' o que afeta bastante a performance do server.
- Informe seu certificado e chave privada do seu certificado de acordo com as informações abaixo e também detalhadas no caso de uso do tópico anterior.
- É importante habilitar também as palavras reservadas 'SSL' pois sem estarem habilitadas as APIs REST não responderam, o modelo de a criptografia utilizada será automaticamente configurada entre browsers e server baseado no certificado utilizado e versões de browsers
- Não deixe de informar a 'PassPhrase', ou palavra/frase passe, pois ela é sua segurança para inibir acesso as informações de seu certificado utilizando função da Tech, como por exemplo a função PEMInfo()
[SSLConfigure]
Enable=1
SSL2=1
SSL3=1
TLS1=1
TLS1_0=1
TLS1_1=1
TLS1_2=1
verbose=0
CertificateServer=c:\totvs\certificate.crt
KeyServer=c:\totvs\private.key
PassPhrase=meurhpwd
02. Sobre Configuração do REST
Referente a configurações básicas para o serviço REST já foram comentadas no processo de instalação, sendo assim, vamos compartilhar outras informações relevantes sobre esse serviço que podem estar ligadas a sua infra-estrutura e a arquitetura do App MeuRH.
- Inicialmente é importante ressaltar que problemas encontrados no certificado, como por exemplo, carregar em ambiente 'não seguro' NÃO funcionará o processo de login no aplicativo pelo celular visto restrições de segurança, mesmo que o funcionamento ocorra normalmente pelo browser, pois temos a possibilidade de permitir a habilitação do carregamento de urls não seguras.
- Diferente de serviços HTTP, para os serviços REST não temos a possibilidade de escolher o endereço da URL, sendo assim os serviços inicializados no servidor responderá aos IPs disponíveis no mesmo.
- Provavelmente o seu serviço de APIs REST estará instalado em um servidor que responda a um IP Externo, consequentemente não faz sentido subir uma porta do REST que não possua o seu certificado SSL:
- Caso deseje configurar uma API apenas com HTTP indicamos subir e utilizar um appserver apenas em um servidor físico em sua rede local.
- Ao utilizar o SSL verifique as características do seu certificado baseado nas informações dos tópicos anteriores.
- A palavra 'URL' dentro da tag [HTTPENV] deverá possuir inicialmente a palavra 'rest' é obrigatória para a utilização da arquitetura do App MeuRH, principalmente quando utilizada pelo celular:
- Após a palavra 'rest' você poderá possuir quaisquer nomes para compor a sua URL de APIs, em nosso caso de uso nossa URL ficaria como https://104.210.222.191:8107/restT1
- Entretanto, por nosso certificado criado não estar habilitado para esse IP público estaremos utilizando o serviço REST sem ssl para esse ambiente, respondendo em http://104.210.222.191:8107/restT1
- Sendo assim, apenas foi retirado as informações referente ao certificado da tag [HTTPREST].
- Referente a tag [RESTCONFIG], ela é criada exclusivamente para utilização da arquitetura do App MeuRH:
- A palavra 'restPort' é utilizada pelos serviços de backend por isso a obrigatoriedade do seu preenchimento, sendo assim, apesar do protheus em seu appserver permitir que se possa instanciar várias portas REST, em virtude da arquitetura do meurh esse contexto não é permitido.
- Em relação a palavra reservada 'MeuRHLog' ela auxilia no processo de login e manutenção para identificar possíveis dificuldades no processo de configuração e divergências de login, posteriormente, também pode ser desligada utilizando o valor '0' para melhorar a performance de resposta do aplicativo.
- Não deixe de confirmar se a porta do serviço REST utilizada está liberada em seu firewall para permitir receber as requisições.
- Não deixe também de habilitar o item 'SECURITY', pois ele é responsável em exigir as autenticações para a utilização das API´s, caso não estejam ligados o server responderá qualquer requisição recebida sem validação.
[HTTPV11]
ENABLE=1
Sockets=HTTPREST
[HTTPREST]
Port=8107
SECURITY=1
URIs=HTTPENV
SSL2=1
SSL3=1
TLS1=1
TLS1_0=1
TLS1_1=1
TLS1_2=1
verbose=0
CertificateServer=c:\totvs\certificate.crt
KeyServer=c:\totvs\private.key
PassPhrase=meurhpwd
[HTTPENV]
URL=/restT1
PrepareIn=T1
Instances=2,1
ENVIRONMENT=12.1.27
Public=fwjwt/refresh_token,auth
CORSEnable=1
AllowOrigin=*
[HTTPJOB]
MAIN=HTTP_START
ENVIRONMENT=12.1.27
[ONSTART]
JOBS=HTTPJOB
[RESTCONFIG]
restPort=8107
MeuRHLog=1
03. Sobre Configuração do HTTP
SSL (Secure Sockets Layer) permite uma comunicação criptografada entre um site e um navegador, porém está depreciada, sendo substituida pelo TLS(Transport Layer Security). Certificados que não fornecem TLS no processo de criptografia possuem um baixo nível de segurança e grade, abaixo teremos um tópico para validação do seu certificado.
04. Sobre Configuração do Properties.json
- Quando utilizado o app meurh através do browser a informação da campo processo dentro Dentro do arquivo 'properties.json' SSL (Secure Sockets Layer) permite uma comunicação criptografada entre um site e um navegador, porém está depreciada, sendo substituida pelo TLS(Transport Layer Security). Certificados que não fornecem TLS no processo de criptografia possuem um baixo nível de segurança e grade, abaixo teremos um tópico para validação do seu certificado.
05. Sobre Utilização e Configuração de Multi-Empresas
SSL (Secure Sockets Layer) permite uma comunicação criptografada entre um site e um navegador, porém está depreciada, sendo substituida pelo TLS(Transport Layer Security). Certificados que não fornecem TLS no processo de criptografia possuem um baixo nível de segurança e grade, abaixo teremos um tópico para validação do seu certificado.
06. Outras informações relevantes
Referente a configurações básicas para o serviço REST já foram comentadas no processo de instalação, sendo assim, vamos compartilhar alSSL (Secure Sockets Layer) permite uma comunicação criptografada entre um site e um navegador, porém está depreciada, sendo substituida pelo TLS(Transport Layer Security). Certificados que não fornecem TLS no processo de criptografia possuem um baixo nível de segurança e grade, abaixo teremos um tópico para validação do seu certificado.
Para subir o serviço rest e Meu RH com SSL é necessário ajustar o arquivo de configuração do server, para informações detalhadas no frame clique aqui.
Abaixo temos uma sugestão de configuração do arquivo:
Informações Genéricas |
---|
[Drivers] Active=TCP Secure=SSL [TCP] TYPE=TCPIP Port=7088 [SSL] Type=TCPIP Port=5088 [SSLConfigure] SSL2=1 SSL3=1 TLS1=1 TLS1_0=1 TLS1_1=1 TLS1_2=1 CertificateServer=C:\TOTVS\meurh.crt KeyServer=C:\TOTVS\meurh.key PassPhrase=meurhpwd
|
Serviço REST |
---|
[HTTPV11] Enable=1 Sockets=HTTPREST [HTTPREST] port=8103 URIs=HTTPENV1 SECURITY=1 VERBOSE=1 SSL2=1 SSL3=1 TLS1=1 TLS1_0=1 TLS1_1=1 TLS1_2=1 PASSPHRASE=meurhpwd CERTIFICATE=C:\TOTVS\meurh.crt KEY=C:\TOTVS\meurh.key [HTTPENV1] URL=/restT1 PrepareIn=T1 Instances=2,5 ENVIRONMENT=12.1.17 CORSEnable=1 AllowOrigin=* Public=fwjwt/refresh_token,auth [HTTPJOB] MAIN=HTTP_START ENVIRONMENT=12.1.17
[ONSTART] jobs=HTTPJOB RefreshRate=120 |
Serviço HTTPs MeuRH |
---|
[HTTP] ENABLE=0 PORT=8081 [HTTPS] ENABLE=1 PORT=8082 VERBOSE=1 SSL2=1 SSL3=1 TLS1=1 TLS1_0=1 TLS1_1=1 TLS1_2=1 PASSPHRASE=meurhpwd CERTIFICATE=C:\TOTVS\meurh.crt KEY=C:\TOTVS\meurh.key [rhonline.totvs.com.br:8082/T1] ENABLE=1 PATH=C:\web\MeuRH ENVIRONMENT=12.1.17 DEFAULTPAGE=index.html [RESTCONFIG] restPort=8103 |