Encriptando system properties passwords no Weblogic

Publicado por Filippe em 23/11/2012

[ Hits: 5.249 ]

 


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

Leitura de cartão SD no Fedora 18/19

Java Fedora 18/19: trusted.certs (No such file or directory)

Recuperando senhas de datasources encriptados em JBoss

Introdução e configuração básica e rápida do iptables

Teste de conectividade alternativo

Leitura recomendada

Recuperando senhas de datasources encriptados em JBoss

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

APIs de criptografia em Java

Autenticação e criptografia de senhas usando PHP

Continuando cópias interrompidas de arquivos

  

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