2009-09-25 14 views
1

Je veux la dernière de ces lignes dans une application autonome pour passer sans exception: jetésComment se connecter à une file d'attente JMS Weblogic à l'aide de t3s?

Properties props = new Properties(); 
    props.setProperty("java.naming.factory.initial", 
         "weblogic.jndi.WLInitialContextFactory"); 
    props.setProperty("java.naming.provider.url", 
         "t3s://localhost:9002"); 
    props.setProperty("java.naming.security.principal", 
         "<username>"); 
    props.setProperty("java.naming.security.credentials", 
         "<password>"); 
    Context ctx = new InitialContext(props); 

... mais je reçois ces informations à une exception:

Warning Security BEA-090542 Certificate chain received from localhost - 127.0.0.1 was not trusted causing SSL handshake failure. Check the certificate chain to determine if it should be trusted or not. If it should be trusted, then update the client trusted CA configuration to trust the CA certificate that signed the peer certificate chain. If you are connecting to a WLS server that is using demo certificates (the default WLS server behavior), and you want this client to trust demo certificates, then specify -Dweblogic.security.TrustKeyStore=DemoTrust on the command line for this client.

Alors, j'ai créé un magasin de clés du ca en utilisant cette commande:

keytool -keystore client.jks -importcert -file cacert.pem

... et renvoyé à l'aide de la propriété weblogic.security.TrustKeyStore = client.jks

Cela ne fonctionne toujours pas, probablement parce que je n'ai pas fourni de mot de passe au magasin de clés. Qu'ai-je manqué? Comment puis-je fournir ce mot de passe? (ou, comment puis-je créer le fichier de clés sans le mot de passe?)

+0

Avez-vous configuré la file d'attente et la fabrique de connexions dans la console d'administration? – duffymo

+0

Oui, et tout fonctionne bien en utilisant le protocole t3, sans ssl. En utilisant t3s, je n'arrive jamais tout le chemin à la recherche jndi. L'exception est levée lors de la négociation ssl lors de la création de l'instance InitialContext. – davidi

Répondre

8

Presque deux mois plus tard, je suis revenu à ce problème. Après avoir trouvé this link, j'ai découvert que cela fonctionne:

 System.setProperty("weblogic.security.SSL.ignoreHostnameVerification","true"); 
     System.setProperty("java.protocol.handler.pkgs", "weblogic.net"); 
     System.setProperty("weblogic.security.TrustKeyStore","CustomTrust"); 
     System.setProperty("weblogic.security.CustomTrustKeyStoreFileName", "<keystorelocation>"); 
     System.setProperty("weblogic.security.CustomTrustKeyStorePassPhrase","<keystorepassword>"); 
     System.setProperty("weblogic.security.CustomTrustKeyStoreType","JKS"); 

Je ne l'ai travailler en utilisant les propriétés du système.