Encriptando system properties passwords no Weblogic

Publicado por Filippe em 23/11/2012

[ Hits: 5.214 ]

 


Encriptando system properties passwords no Weblogic



Recentemente tive um problema em que precisávamos consumir um recurso de um terceiro na Internet e o mesmo fazia uso de um certificado Two-way handshake, que possui uma senha para ser configurado no cliente, neste caso, do Weblogic.

A Oracle não nos deu uma solução, então, decidimos tentar por si só resolver o problema. Foi onde desenvolvemos o EncryptSystemProperties.war para intermediar a configuração da senha do certificado.

Modo de usar

Antes de tudo é necessário configurar o CLASSPATH inserindo os arquivos de configuração ("encrypted-properties.properties" e "log4j.properties"), para facilitar um pouco a configuração, eu optei por criar um diretório dentro do domínio utilizado.

Para este exemplo, usamos a seguinte árvore de diretórios:

/opt/weblogic/user_projects/domains/spolti01/EncryptSystemProperties
├── encrypted-properties.properties
└── log4j.properties

Para configurar o CLASSPATH, foi usado o arquivo "setDomainEnv.sh" e foi incluso no final do arquivo o diretório acima no CLASSPATH:

export CLASSPATH="$CLASSPATH:/opt/weblogic/user_projects/domains/spolti01/EncryptSystemProperties"

Após configurar, realizar deploy do "EncryptSystemProperties.war" no Weblogic e colocá-lo como target no mesmo domínio/cluster/managedServer em que o certificado for configurado.

No decorrer do deploy, duas informações devem estar presentes nos logs, a configuração do novo diretório contendo os arquivos no CLASSPATH e os logs da aplicação informando que o parâmetro foi configurado com sucesso:
CLASSPATH=/opt/weblogic/patch_wls1035/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/opt/weblogic/patch_ocp
360/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/usr/java/jdk1.6.0_30/lib/tools.jar:/opt/weblogic/wlserver_10.3
/server/lib/weblogic_sp.jar:/opt/weblogic/wlserver_10.3/server/lib/weblogic.jar:/opt/weblogic/modules/features/weblogic.server
.modules_10.3.5.0.jar:/opt/weblogic/wlserver_10.3/server/lib/webservices.jar:/opt/weblogic/modules/org.apache.ant_1.7.1/lib/
ant-all.jar:/opt/weblogic/modules/net.sf.antcontrib_1.1.0.0_1-0b2/lib/ant-
contrib.jar:/opt/weblogic/wlserver_10.3/common/derby/lib/derbyclient.jar:/opt/weblogic/wlserver_10.3/
server/lib/xqrl.jar:/opt/weblogic/user_projects/domains/spolti01/EncryptSystemProperties


Vejam a parte destacada, o diretório configurado no CLASSPATH foi setado com sucesso.

E também, a mensagem abaixo deve ser impressa nos logs indicando que o parâmetro "javax.net.ssl.keyStorePassword" foi setado com sucesso:
Spolti - 13:04:23,905 INFO EncryptSystemPropertiesService - Carregando arquivo encrypted-properties.properties.
Spolti - 13:04:23,983 INFO EncryptSystemPropertiesService - encrypted-properties.properties caregado com sucesso.
Spolti - 13:04:24,256 INFO EncryptSystemPropertiesService - SSL Keystore Password setado com sucesso.


Comparando os processos da JVM temos:

Antes:
-Djavax.net.ssl.keyStoreType=PKCS12 -Djavax.net.ssl.keyStore=/local/para/o/certificado.p12 -
Djavax.net.ssl.keyStorePassword=secreto

Depois:
-Djavax.net.ssl.keyStoreType=PKCS12 -Djavax.net.ssl.keyStore=/local/para/o/certificado.p12


O artigo na íntegra, está disponível em:
Outras dicas deste autor

Teste de conectividade alternativo

Classe em Java para validar regex no padrão: dd/mm/aaaa hh:mm:ss

Configuração de internet móvel 3G CTBC no Ubuntu

VirtualBox Fedora 18/19: "WARNING: The vboxdrv kernel module is not loaded" [Resolvido]

Cuidado com o "sl"

Leitura recomendada

Log4J 2.15.0 com problemas, veja a solução definitiva!

Recuperando senhas de datasources encriptados em JBoss

APIs de criptografia em Java

Interface de desenvolvimento Open Source

Instalação do OpenOffice no Arch Linux

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts