Histórico da Página
...
Observação: A criação do certificado digital deve ser feita apenas para o uso dos serviços TISS. Os serviços do PTU devem utilizar o certificado fornecido pela Unimed do Brasil.
Âncora | ||||
---|---|---|---|---|
|
A keystore é um repositório de certificados. Na keystore configurada no Foundation Saúde, é possível instalar todos os certificados necessários para o funcionamento dos serviços disponibilizados pelo Foundation Saúde, como PTU Online, TISS e GPU.
...
keytool -exportcert -alias keystore -file c:/totvs/jboss-4.2.3.GA/JBOSS_HOME/server/default/conf/certificate.cer -keystore c:/totvs/jboss-4.2.3.GAJBOSS_HOME/server/default/conf/keystore.keystore -storepass medical
...
- alias: Crie um alias para seu arquivo de chaves, esse nome será usado internamente. Valor padrão é “keystore”.
- file: Caminho ou diretório onde serão criados o certificado, o arquivo contenedor de certificados, e o arquivo contenedor dos certicados válidos de clientes. O valor padrão é “c:/totvs/jboss-4.2.3.GA/JBOSS_HOME/server/default/conf/”.
- storepass: Senha para o arquivo contenedor de certificados. O valor padrão é “medical”.
...
>keytool -exportcert -alias keystore -file " c:/totvs/jboss-4.2.3.GA/server/default/conf /server.cer" -keystore "server.keystore" -storepass medical
Importação dos Certificados
Âncora | ||||
---|---|---|---|---|
|
Cada cliente autorizado a receber ou enviar mensagens
...
através dos Web Services, deve fornecer seu arquivo de certificado pra ser adicionado à lista de clientes confiáveis (truststore).
Também o cliente precisa receber o certificado do provedor(host) dos serviços
...
Web Service
...
para adicioná-lo a sua lista de confiabilidade.
Tendo recebido o arquivo do cliente, executar a seguinte linha de comando (cmd):
keytool -importcert -alias client_truststore -file
...
“certificado-cliente
...
-keypass
...
“senha-
...
cliente” -keystore “JBOSS_HOME/server/default/conf/truststore.truststore”
...
-storepass medical -noprompt -trustcacerts
Os valores
...
sublinhados devem ser substituídos, e para palavras-chave iguais devem ser os mesmos usados
...
na criação do certificado e keystore. A seguir os detalhes das propriedades:
- -
- alias: Crie um alias para seu arquivo de armazenamento de certificados de clientes válidos, esse nome será usado internamente. O valor padrão é “client_truststore”.
- client-certificate: Caminho completo onde se encontra o arquivo certificado do cliente, este certificado será adicionado à lista de confiáveis;
- senha-cliente: Senha do arquivo de certificado do cliente.
-- keystore: Caminho ou diretório onde serão criados o certificado, o arquivo contenedor de certificados, e o arquivo contenedor dos certicados válidos de clientes. Valor padrão é “c:/totvs/jboss-4.2.3.GA/server/default/conf”.
-- storepass: Senha para o arquivo contenedor dos certificados válidos de clientes. Valor padrão é “medical”.
...
Atenção: Verifique se o arquivo ”truststore.truststore” foi criado no diretório escolhido (-storepass).
...
Exemplo de importação dos certificados:
- Importando certificado do cliente no servidor
...
- : >keytool -importcert -alias clientlocal -file "client.cer" -keypass medical -keystore "server.truststore" -storepass medical -noprompt –trustcacerts
- Importando certificado do servidor no cliente
...
- : >keytool -importcert -alias server -file "server.cer" -keypass medical -keystore "client.truststore" -storepass medical -noprompt –trustcacerts
O proximo passo é copiar os arquivos
...
server.
...
keystore e
...
server.
...
truststore, para o diretório
...
JBOSS_HOME/server/default/
...
conf.
...
Configuração de Segurança no Servidor de Aplicações
A seguir são mostrados os passos para habilitar
...
e desabilitar
...
o uso do certificado digital. Por padrão algumas configurações estão comentadas para os
...
sistemas não utilizam o certificado digital para TISS e SIB. Caso o cliente utilize os módulos
...
SIB
...
e
...
TISS
...
sem certificado, será necessário fazer as configurações da
...
seção 8.6.2.
...
Habilitar Certificado Digital - PTU/Tiss/SIB
Na estrutura ”C:/totvs/jboss-4.2.3.GA/server/default/conf”, a partir do diretório de instalação do "JBOSS", é preciso verificar a configuração de dois arquivos:
...
Para configurar o certificado para o PTU, deve-se gravar os arquivos enviados pela Unimed do Brasil
...
no diretório JBOSS_HOME\server\default\conf
...
. O nome
...
da keystore deve ser igual ao domínio da aplicação, que é informado no parâmetro
...
-
...
b,
...
do arquivo de inicialização do
...
JBoss, conforme definido na configuração de acesso externo. Ex.: foundation.dominio_operadora.com.br.javaks ou foundation
...
.dominio_operadora.com.br.jks.
Na diretório JBOSS_HOME/server/default/conf, é preciso verificar a configuração de dos arquivos jboss-service.xml e login-config.xml.
No arquivo jboss-service.xml deve-se
...
incluir ou atualizar a tag “mbean” de segurança, conforme
...
ilustrado abaixo. Para o módulo
...
PTU
...
, o valor “keystore.keystore” e o valor “truststore. truststore”, na linha em negrito abaixo, deve ser
...
substituído pelo arquivo “*.javaks” enviado pela Unimed do Brasil e as senhas “medical” dos atributos “KeyStorePass” e “TrustStorePass” pela senha fornecida pela Unimed do Brasil.
...
<!-- ... --> <mbean code="org.jboss.security.plugins.JaasSecurityDomain" name="jboss.web:service=SecurityDomain"> <constructor> <arg type="java.lang.String" value="JBossWS-SSL"/> </constructor> <attribute name="KeyStoreURL"> ${jboss.server.home.dir}/conf/keystore.keystore </attribute> <attribute name="KeyStorePass">medical</attribute> <attribute name="TrustStoreURL"> ${jboss.server.home.dir}/conf/truststore.truststore </attribute> <attribute name="TrustStorePass">medical</attribute> <depends>jboss.security:service=JaasSecurityManager</depends> </mbean> <!-- ... --> |
Observação: Para a DISTRO com certificado, este arquivo já se encontra configurado.
...
No arquivo login-config.
...
xml deve-se incluir ou atualizar a tag “application-police”, conforme mostrado abaixo:
<!-- ... --> |
...
<application-policy name="JBossWS-Secure"> <authentication> <login-module code="org.jboss.security.auth.spi.BaseCertLoginModule" flag="required"> <module-option name="password-stacking">useFirstPass</module-option> <module-option name="securityDomain">java:/jaas/JBossWS-SSL</module-option> <module-option name="verifier"> |
...
org.jboss.security.auth.certs.AnyCertVerifier </module-option> </login-module> </authentication> </application-policy> <!-- ... --> |
...
No diretório JBOSS_HOME/server/default/deploy
...
,
...
atualizar o arquivo
...
properties-service.
...
xml, conforme mostrado abaixo:
<server> <!-- ... --> <mbean code="org.jboss.varia.property.SystemPropertiesService" name="jboss:type=Service,name=SystemProperties"> <!-- ... --> <attribute name="Properties"> |
...
javax.net.ssl.keyStore=<caminho-keystore> |
...
...
javax.net.ssl.keyStorePassword=<senha-keystore |
...
> |
...
javax.net.ssl.trustStore=<caminho-truststore> |
...
...
javax.net.ssl.trustStorePassword=<senha-truststore> |
...
</attribute> <!-- ... --> </mbean> <!-- ... --> </server> |
Segue abaixo mais detalhes referente a configuração acima:
- javax.net.ssl.keyStore –
(*) – - Informe o caminho onde está o seu arquivo
"- keystore
"- , que foi criado
em “§ 3.7.1. Criação do contenedor de certificados(keystore)”. - anteriormente. Caso o arquivo esteja configurado para o
módulo do "- PTU
"- , este valor deve apontar para o arquivo “.javaks”
, - enviado pela Unimed do Brasil.
(**) – - javax.net.ssl.keyStorePassword – Informe a senha do seu
"- keystore
"- . Caso o arquivo esteja configurado para o
módulo do "- PTU
"- , este valor deve ser preenchido com a senha fornecida pela Unimed do Brasil.
(***) – - javax.net.ssl.trustStore – Informar o caminho onde está seu arquivo
"- truststore
"- , que foi criado
em “§ 3.5.3. Importação de Certificados”. - anteriormente. Caso o arquivo esteja configurado para o
módulo do "- PTU
"- , este valor deve apontar para o arquivo “.javaks”, enviado pela Unimed do Brasil.
(****) – - javax.net.ssl.trustStorePassword – Informar a senha do seu arquivo
"- truststore
", que foi criado em Ҥ 3.5- .
3. Importação de Certificados”. - Caso o arquivo esteja configurado para o
módulo do "- PTU
"- , este valor deve ser preenchido com a senha fornecida pela Unimed do Brasil.
Obs: Para a DISTRO com certificado, este arquivo já se encontra configurado.
Na estrutura “C:/totvs/jboss-4.2.3.GANo diretório JBOSS_HOME/server/default/deploy/jboss-web-deployer”,
...
configurar o arquivo
...
server.
...
xml o serviço
...
jboss.
...
web, conforme mostrado abaixo:
<Server> <!-- ... --> <Service name="jboss.web"> <!-- ... --> <Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" keystoreFile="C:/totvs/jboss-4.2.3.GA/server/conf/keystore.keystore" keystorePass="medical" clientAuth="want" sslProtocol="TLS" truststoreFile="C:/totvs/jboss-4.2.3.GA/server/conf/truststore.truststore" truststorePass="medical"/> <!-- ... --> </Service> <!-- ... --> </Server> |
Segue abaixo mais detalhes referente a configuração acima:
...
- port
=”...”- : Número da porta para comunicação segura. Valor padrão é 443.
- keystoreFile
=”...”- : Caminho ou diretório onde está o certificado, o arquivo contenedor de certificados, e o arquivo contenedor dos certificados válidos de clientes. Diretório padrão de certificado é o
“C:/totvs/jboss-4.2.3.GA/- JBOSS_HOME/server/conf
”- . Caso o arquivo esteja configurado para
o módulo do "- o PTU
"- , deve apontar para o arquivo “.javaks”, fornecido pela Unimed do Brasil.
- keystorePass
=”...”- : Senha para o arquivo contenedor de certificados. Caso o arquivo esteja configurado para o
módulo do "- PTU
"- , este valor deve ser preenchido com a senha fornecida pela Unimed do Brasil.
- senha-truststore
=”...”- : Senha para o arquivo contenedor dos certificados válidos de clientes. Caso o arquivo esteja configurado para o
módulo do "- PTU
"- , este valor deverá ser preenchido com a senha fornecida pela Unimed do Brasil
.Observação: Para a DISTRO com certificado, este arquivo já se encontra configurado- .
Nota: A necessidade de configurar portas ocorre principalmente quando há duas instâncias ativas do
...
JBoss. Outras situações referentes à infra-estrutura local podem
...
provocar essa necessidade e devem ser verificadas com o técnico responsável.
...
Desabilitar Certificado Digital - SIB/Tiss
...
No diretório JBOSS_HOME/server/default/
...
conf, a partir do diretório de instalação do "JBOSS AS," é preciso verificar a configuração de alguns arquivos:
Arquivo “jboss-service.xml”: comentar a tag “mbean” de segurança, conforme mostrado abaixo:
<!-- ... -->
<!--
<mbean code="org.jboss.security.plugins.JaasSecurityDomain"
name="jboss.web:service=SecurityDomain">
<constructor>
<arg type="java.lang.String" value="JBossWS-SSL"/>
</constructor>
<attribute name="KeyStoreURL">
${jboss.server.home.dir}/conf/keystore.keystore
</attribute>
<attribute name="KeyStorePass"><senha-keystore></attribute>
<attribute name="TrustStoreURL">
${jboss.server.home.dir}/conf/truststore.truststore
</attribute>
<attribute name="TrustStorePass"><senha-truststore></attribute>
<depends>jboss.security:service=JaasSecurityManager</depends>
</mbean>
-->
<!-- ... -->
- Arquivo “login-config.xml”: comentar a tag “application-police”, conforme mostrado abaixo:
<!-- ... -->
<!--
<application-policy name="JBossWS-Secure">
<authentication>
<login-module code="org.jboss.security.auth.spi.BaseCertLoginModule"
flag="required">
<module-option name="password-stacking">useFirstPass</module-option>
<module-option name="securityDomain">java:/jaas/JBossWS-SSL</module-option>
<module-option name="verifier">
org.jboss.security.auth.certs.AnyCertVerifier
</module-option>
</login-module>
</authentication>
</application-policy>
-->
<!-- ... -->
Na estrutura “/server/default/deploy”, a partir do diretório de instalação, verificar, comentar o arquivo “properties-service.xml”, conforme mostrado abaixo:
<server> <!-- ... --> <mbean code="org.jboss.varia.property.SystemPropertiesService" name="jboss:type=Service,name=SystemProperties"> <!-- ... --> <attribute name="Properties"> <!-- javax.net.ssl.trustStore=<caminho-truststore> --> </attribute> <!-- ... --> </mbean> <!-- ... --> </server> |
Na estrutura “server/default/deploy/jboss-web-deployer”, a partir do diretório de instalação, verificar, comentar o arquivo “server.xml” para o serviço “jboss.web”, conforme mostrado abaixo:
<Server> <!-- ... --> <Service name="jboss.web"> <!-- <Connector port="<porta-ssl>" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" keystoreFile="<caminho>/keystore.keystore" keystorePass="<senha-keystore>" clientAuth="want" sslProtocol="TLS" truststoreFile="<caminho>/truststore.truststore" truststorePass="<senha-truststore>"/> --> </Service> </Server> |
Na estrutura “/server/default/deploy/jbossws.sar/jbossws.beans/META-INF”, a partir do diretório de instalação, verificar, comentar o arquivo “jboss-beans.xml”, referente a seguranças de portas, conforme mostrado abaixo:
<deployment ... > <!-- ... --> <bean name="WSServerConfig" class="org.jboss.wsf.stack.jbws.NativeServerConfig"> <!-- <property name="webServiceSecurePort"><porta-ssl></property> --> </bean> <!-- ... --> <deployment> |