public final XMPPTCPConnectionConfiguration.Builder getConnectionConfiguration() throws KeyManagementException, NoSuchAlgorithmException { XMPPTCPConnectionConfiguration.Builder builder = XMPPTCPConnectionConfiguration.builder(); if (configuration.tlsContext != null) { builder.setCustomSSLContext(configuration.tlsContext); } builder.setSecurityMode(configuration.securityMode); builder.setXmppDomain(service); return builder; }
@Override public XMPPTCPConnectionConfiguration build() { return new XMPPTCPConnectionConfiguration(this); } }
saslAuthentication.authenticate(username, password, config.getAuthzid(), sslSession);
SmackDaneVerifier daneVerifier = null; if (config.getDnssecMode() == DnssecMode.needsDnssecAndDane) { SmackDaneProvider daneProvider = DNSUtil.getDaneProvider(); if (daneProvider == null) { SSLContext context = this.config.getCustomSSLContext(); KeyStore ks = null; PasswordCallback pcb = null; final String keyStoreType = config.getKeystoreType(); final CallbackHandler callbackHandler = config.getCallbackHandler(); final String keystorePath = config.getKeystorePath(); if ("PKCS11".equals(keyStoreType)) { try { Constructor<?> c = Class.forName("sun.security.pkcs11.SunPKCS11").getConstructor(InputStream.class); String pkcs11Config = "name = SmartCard\nlibrary = " + config.getPKCS11Library(); ByteArrayInputStream config = new ByteArrayInputStream(pkcs11Config.getBytes(StringUtils.UTF8)); Provider p = (Provider) c.newInstance(config); X509TrustManager customTrustManager = config.getCustomX509TrustManager(); config.getXMPPServiceDomain().toString(), plain.getPort(), true); TLSUtils.setEnabledProtocolsAndCiphers(sslSocket, config.getEnabledSSLProtocols(), config.getEnabledSSLCiphers());
/** * Creates a new XMPP connection over TCP. * <p> * This is the simplest constructor for connecting to an XMPP server. Alternatively, * you can get fine-grained control over connection settings using the * {@link #XMPPTCPConnection(XMPPTCPConnectionConfiguration)} constructor. * </p> * @param username * @param password * @param serviceName * @throws XmppStringprepException */ public XMPPTCPConnection(CharSequence username, String password, String serviceName) throws XmppStringprepException { this(XMPPTCPConnectionConfiguration.builder().setUsernameAndPassword(username, password).setXmppDomain( JidCreate.domainBareFrom(serviceName)).build()); }
static XMPPTCPConnectionConfiguration.Builder getConnectionConfigurationBuilder(Configuration config) { XMPPTCPConnectionConfiguration.Builder builder = XMPPTCPConnectionConfiguration.builder(); if (config.tlsContext != null) { builder.setCustomSSLContext(config.tlsContext); } builder.setSecurityMode(config.securityMode); builder.setXmppDomain(config.service); switch (config.debugger) { case enhanced: builder.setDebuggerFactory(EnhancedDebugger.Factory.INSTANCE); break; case console: builder.setDebuggerFactory(ConsoleDebugger.Factory.INSTANCE); break; case none: // Nothing to do :). break; } return builder; }
public static boolean supportsIbr(DomainBareJid xmppDomain) throws SmackException, IOException, XMPPException, InterruptedException, KeyManagementException, NoSuchAlgorithmException { XMPPTCPConnectionConfiguration.Builder configBuilder = XMPPTCPConnectionConfiguration.builder() .setXmppDomain(xmppDomain); TLSUtils.acceptAllCertificates(configBuilder); XMPPTCPConnectionConfiguration config = configBuilder.build(); XMPPTCPConnection connection = new XMPPTCPConnection(config); connection.connect(); try { return supportsIbr(connection); } finally { connection.disconnect(); } }
public static boolean createAccount(DomainBareJid xmppDomain, Localpart username, String password) throws KeyManagementException, NoSuchAlgorithmException, SmackException, IOException, XMPPException, InterruptedException { XMPPTCPConnectionConfiguration.Builder configBuilder = XMPPTCPConnectionConfiguration.builder() .setXmppDomain(xmppDomain); TLSUtils.acceptAllCertificates(configBuilder); XMPPTCPConnectionConfiguration config = configBuilder.build(); XMPPTCPConnection connection = new XMPPTCPConnection(config); connection.connect(); try { if (!supportsIbr(connection)) return false; AccountManager accountManager = AccountManager.getInstance(connection); accountManager.createAccount(username, password); return true; } finally { connection.disconnect(); } } }
public static boolean tlsTest(EntityBareJid jid, String password, String host, int port, String tlsPin, boolean shouldThrow) throws KeyManagementException, NoSuchAlgorithmException { XMPPTCPConnectionConfiguration.Builder builder = XMPPTCPConnectionConfiguration.builder();
public static void iotScenario(String dataThingJidString, String dataThingPassword, String readingThingJidString, String readingThingPassword, IotScenario scenario) throws Exception { final EntityBareJid dataThingJid = JidCreate.entityBareFrom(dataThingJidString); final EntityBareJid readingThingJid = JidCreate.entityBareFrom(readingThingJidString); final XMPPTCPConnectionConfiguration dataThingConnectionConfiguration = XMPPTCPConnectionConfiguration.builder() .setUsernameAndPassword(dataThingJid.getLocalpart(), dataThingPassword) .setXmppDomain(dataThingJid.asDomainBareJid()).setSecurityMode(SecurityMode.disabled) .enableDefaultDebugger().build(); final XMPPTCPConnectionConfiguration readingThingConnectionConfiguration = XMPPTCPConnectionConfiguration .builder().setUsernameAndPassword(readingThingJid.getLocalpart(), readingThingPassword) .setXmppDomain(readingThingJid.asDomainBareJid()).setSecurityMode(SecurityMode.disabled) .enableDefaultDebugger().build(); final XMPPTCPConnection dataThingConnection = new XMPPTCPConnection(dataThingConnectionConfiguration); final XMPPTCPConnection readingThingConnection = new XMPPTCPConnection(readingThingConnectionConfiguration); dataThingConnection.setReplyTimeout(TIMEOUT); readingThingConnection.setReplyTimeout(TIMEOUT); dataThingConnection.setUseStreamManagement(false); readingThingConnection.setUseStreamManagement(false); try { dataThingConnection.connect().login(); readingThingConnection.connect().login(); scenario.iotScenario(dataThingConnection, readingThingConnection); } finally { dataThingConnection.disconnect(); readingThingConnection.disconnect(); } }
TestXMPPConnection() throws XmppStringprepException { super(XMPPTCPConnectionConfiguration.builder().setXmppDomain("/foo").build()); }
@Override protected XMPPConnection createInstance() throws Exception { XMPPTCPConnectionConfiguration connectionConfig = this.connectionConfiguration; if (connectionConfig == null) { XMPPTCPConnectionConfiguration.Builder builder = XMPPTCPConnectionConfiguration.builder() .setHost(this.host) .setPort(this.port); if (StringUtils.hasText(this.resource)) { builder.setResource(this.resource); } if (StringUtils.hasText(this.serviceName)) { builder.setUsernameAndPassword(this.user, this.password) .setXmppDomain(this.serviceName); } else { builder.setUsernameAndPassword(XmppStringUtils.parseLocalpart(this.user), this.password) .setXmppDomain(this.user); } connectionConfig = builder.build(); } return new XMPPTCPConnection(connectionConfig); }
@Test public void testXmppConnectionFactoryBean() throws Exception { XmppConnectionFactoryBean xmppConnectionFactoryBean = new XmppConnectionFactoryBean(); xmppConnectionFactoryBean.setConnectionConfiguration( XMPPTCPConnectionConfiguration.builder() .setXmppDomain("foo") .build()); XMPPConnection connection = xmppConnectionFactoryBean.createInstance(); assertNotNull(connection); }
/** * Creates the {@code ConnectionConfiguration} from the given parameters. * * @param host the host to connect to * @param port the port to connect to * @param serviceName the name of the service to connect to. May be {@code null} */ protected XMPPTCPConnectionConfiguration createConnectionConfiguration(String host, int port, String serviceName) throws XmppStringprepException { Assert.hasText(host, "'host' must not be empty"); if (StringUtils.hasText(serviceName)) { return XMPPTCPConnectionConfiguration.builder() .setHost(host) .setPort(port) .setXmppDomain(serviceName) .build(); } else { return XMPPTCPConnectionConfiguration.builder() .setHost(host) .setPort(port) .build(); } }
/** * Creates the {@code ConnectionConfiguration} from the given parameters. * * @param host the host to connect to * @param port the port to connect to * @param serviceName the name of the service to connect to. May be {@code null} */ protected XMPPTCPConnectionConfiguration createConnectionConfiguration(String host, int port, String serviceName) throws XmppStringprepException { Assert.hasText(host, "'host' must not be empty"); if (StringUtils.hasText(serviceName)) { return XMPPTCPConnectionConfiguration.builder() .setHost(host) .setPort(port) .setXmppDomain(serviceName) .build(); } else { return XMPPTCPConnectionConfiguration.builder() .setHost(host) .setPort(port) .build(); } }
private XMPPTCPConnectionConfiguration createConnectionConfig(String host, int port) { try { return XMPPTCPConnectionConfiguration.builder().setHost(host).setPort(port).setXmppDomain(host) .addEnabledSaslMechanism(SASLMechanism.PLAIN).build(); } catch (XmppStringprepException e) { throw new RuntimeException(e); } }
/** * Creates the {@code ConnectionConfiguration} from the given parameters. * * @param host the host to connect to * @param port the port to connect to * @param serviceName the name of the service to connect to. May be {@code null} */ protected XMPPTCPConnectionConfiguration createConnectionConfiguration(String host, int port, String serviceName) throws XmppStringprepException { Assert.hasText(host, "'host' must not be empty"); if (StringUtils.hasText(serviceName)) { return XMPPTCPConnectionConfiguration.builder() .setHost(host) .setPort(port) .setXmppDomain(serviceName) .build(); } else { return XMPPTCPConnectionConfiguration.builder() .setHost(host) .setPort(port) .build(); } }
XMPPTCPConnectionConfiguration.Builder builder = XMPPTCPConnectionConfiguration.builder(). setPort(port) .setHost(host)
XMPPTCPConnectionConfiguration config = XMPPTCPConnectionConfiguration.builder() .setUsernameAndPassword(username, password) .setHost(hostname)
public void init(String userId,String pwd ) { Log.i("XMPP", "Initializing!"); this.userName = userId; this.passWord = pwd; XMPPTCPConnectionConfiguration.Builder configBuilder = XMPPTCPConnectionConfiguration.builder(); configBuilder.setUsernameAndPassword(userName, passWord); configBuilder.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled); configBuilder.setResource("Android"); configBuilder.setServiceName(DOMAIN); configBuilder.setHost(HOST); configBuilder.setPort(PORT); //configBuilder.setDebuggerEnabled(true); connection = new XMPPTCPConnection(configBuilder.build()); connection.addConnectionListener(connectionListener); }