Guest User

Untitled

a guest
Jul 16th, 2018
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.30 KB | None | 0 0
  1. package jabberIL;
  2.  
  3. import java.io.IOException;
  4. import java.io.BufferedReader;
  5. import java.io.InputStreamReader;
  6. import java.lang.InterruptedException;
  7.  
  8. import java.net.InetAddress;
  9. import javax.net.ssl.HostnameVerifier;
  10. import javax.net.ssl.SSLSession;
  11. import org.jivesoftware.smack.ConnectionConfiguration;
  12. import org.jxmpp.jid.DomainBareJid;
  13. import org.jxmpp.jid.EntityBareJid;
  14. import org.jxmpp.jid.impl.JidCreate;
  15. import org.jxmpp.stringprep.XmppStringprepException;
  16.  
  17. import org.jivesoftware.smack.tcp.XMPPTCPConnection;
  18. import org.jivesoftware.smack.tcp.XMPPTCPConnectionConfiguration;
  19. import org.jivesoftware.smack.SmackException;
  20. import org.jivesoftware.smack.XMPPException;
  21. import org.jivesoftware.smack.AbstractXMPPConnection;
  22. import org.jivesoftware.smack.packet.Message;
  23. import org.jivesoftware.smack.chat2.ChatManager;
  24. import org.jivesoftware.smack.chat2.Chat;
  25. import org.jivesoftware.smack.chat2.IncomingChatMessageListener;
  26.  
  27. import jabberIL.X509_Trust_Manager;
  28. import javax.net.ssl.SSLContext;
  29. import java.security.SecureRandom;
  30. import javax.net.ssl.TrustManager;
  31.  
  32. public class JabberIL {
  33. public static void main(String[] args) throws XmppStringprepException, SmackException, XMPPException, IOException, InterruptedException {
  34. String msg;
  35. BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  36.  
  37. InetAddress addr = InetAddress.getByName("ip_server");
  38. HostnameVerifier verifier = new HostnameVerifier() {
  39. public boolean verify(String hostname, SSLSession session) {
  40. return false; // false
  41. }
  42. };
  43.  
  44.  
  45. SSLContext Cur_SSL_Context = null;
  46. try {
  47. Cur_SSL_Context = SSLContext.getInstance("TLS");
  48. Cur_SSL_Context.init(null, new TrustManager[] { new X509_Trust_Manager() }, new SecureRandom());
  49. } catch (Exception e) {
  50. e.printStackTrace();
  51. }
  52.  
  53. DomainBareJid serviceName = JidCreate.domainBareFrom("name_server.ru");
  54. XMPPTCPConnectionConfiguration config = XMPPTCPConnectionConfiguration.builder()
  55. .setUsernameAndPassword("name","pass")
  56. .setPort(5222)
  57. .setSecurityMode(ConnectionConfiguration.SecurityMode.disabled)
  58. .setXmppDomain(serviceName)
  59. .setHostnameVerifier(verifier)
  60. //.setSocketFactory(Cur_SSL_Context.getSocketFactory())
  61. .setHostAddress(addr)
  62. .setDebuggerEnabled(true)
  63. .setSendPresence(true)
  64. .build();
  65. AbstractXMPPConnection conn1 = new XMPPTCPConnection(config);
  66.  
  67. conn1.connect();
  68. if(conn1.isConnected()){
  69. System.out.println("XMPP Connected");
  70. }
  71.  
  72. conn1.login();
  73.  
  74. ChatManager chatManager = ChatManager.getInstanceFor(conn1);
  75. chatManager.addIncomingListener(new IncomingChatMessageListener() {
  76. public void newIncomingMessage(EntityBareJid from, Message message, Chat chat) {
  77. System.out.println("Received message: " + message.getBody());
  78. }
  79. });
  80. Chat chat = chatManager.chatWith(JidCreate.entityBareFrom("to_name@server.ru"));
  81. while (!(msg = br.readLine()).equals("bye")) {
  82. chat.send(msg);
  83. }
  84. //conn1.disconnect();
  85. }
  86. }
  87.  
  88. package jabberIL;
  89.  
  90. import javax.net.ssl.X509TrustManager;
  91. import java.security.cert.X509Certificate;
  92. import java.security.cert.CertificateException;
  93.  
  94. public class X509_Trust_Manager implements X509TrustManager {
  95.  
  96. public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
  97. }
  98.  
  99. public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
  100. }
  101.  
  102. public X509Certificate[] getAcceptedIssuers() {
  103. return null;
  104. }
  105. }
  106.  
  107. 23:10:45 RECV (0): <failure> xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><bad-auth/> </failure>
Add Comment
Please, Sign In to add comment