Encriptando system properties passwords no Weblogic

Publicado por Filippe em 23/11/2012

[ Hits: 4.525 ]

 


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

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

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

Pidgin não criptografa senhas armazenadas

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

Host key verification failed [RESOLVIDO]

Leitura recomendada

Recuperando senhas de datasources encriptados em JBoss

APIs de criptografia em Java

OpenOffice.org - Tirando a numeração da primeira página na marra

Criando seu próprio tema splash screen para KDE 4

Classe para validação de formulários em PHP

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts