List of usage examples for javax.naming Context SECURITY_PROTOCOL
String SECURITY_PROTOCOL
To view the source code for javax.naming Context SECURITY_PROTOCOL.
Click Source Link
From source file:org.hyperic.hq.plugin.netservices.LDAPCollector.java
public void collect() { // Setup initial LDAP properties Properties env = new Properties(); Properties props = getProperties(); // Set our default factory name if one is not given String factoryName = env.getProperty(Context.INITIAL_CONTEXT_FACTORY); if (factoryName == null) { env.setProperty(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); }/*from ww w . j av a2 s. c om*/ // Set the LDAP url if (isSSL()) { env.put("java.naming.ldap.factory.socket", LDAPSSLSocketFactory.class.getName()); env.put(Context.SECURITY_PROTOCOL, "ssl"); } String providerUrl = "ldap://" + getHostname() + ":" + getPort(); env.setProperty(Context.PROVIDER_URL, providerUrl); // For log track setSource(providerUrl); // Follow referrals automatically env.setProperty(Context.REFERRAL, "follow"); // Base DN String baseDN = props.getProperty(PROP_BASEDN); if (baseDN == null) { setErrorMessage("No Base DN given, refusing login"); setAvailability(false); return; } // Search filter String filter = props.getProperty(PROP_FILTER); // Load any information we may need to bind String bindDN = props.getProperty(PROP_BINDDN); String bindPW = props.getProperty(PROP_BINDPW); if (bindDN != null) { env.setProperty(Context.SECURITY_PRINCIPAL, bindDN); env.setProperty(Context.SECURITY_CREDENTIALS, bindPW); env.setProperty(Context.SECURITY_AUTHENTICATION, "simple"); } if (log.isDebugEnabled()) { log.debug("Using LDAP environment: " + env); } try { startTime(); InitialLdapContext ctx = new InitialLdapContext(env, null); endTime(); setAvailability(true); // If a search filter is specified, run the search and return the // number of matches as a metric if (filter != null) { log.debug("Using LDAP filter=" + filter); NamingEnumeration answer = ctx.search(baseDN, filter, getSearchControls()); long matches = 0; while (answer.hasMore()) { matches++; answer.next(); } setValue("NumberofMatches", matches); } } catch (Exception e) { setAvailability(false); if (log.isDebugEnabled()) { log.debug("LDAP check failed: " + e, e); } setErrorMessage("LDAP check failed: " + e); } }
From source file:org.jkcsoft.java.util.JndiHelper.java
public static DirContext getDirContext(BehavioralContext bctx, Object principal, Object credentials) throws NamingException { DirContext ctx = null;/* w ww . java2s . c o m*/ Configuration tconfig = bctx.getConfig(); String ldapProvider = "ldap" + "://" + tconfig.getString(Constants.KEY_AD_HOST) + ":" + tconfig.getString(Constants.KEY_AD_PORT) + "/" + tconfig.getString(Constants.KEY_AD_ROOT_DN); log.info("Using LDAP url: [" + ldapProvider + "]"); // String url, String contextFactoryName, Hashtable jndiEnv = new Hashtable(); jndiEnv.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); jndiEnv.put(Context.PROVIDER_URL, ldapProvider); jndiEnv.put(Context.REFERRAL, "follow"); if (tconfig.getBoolean(Constants.KEY_AD_SSL)) { log.info("Using SSL for LDAP"); jndiEnv.put(Context.SECURITY_PROTOCOL, "ssl"); } jndiEnv.put(Context.SECURITY_AUTHENTICATION, "simple"); if (principal != null) jndiEnv.put(Context.SECURITY_PRINCIPAL, principal); if (credentials != null) jndiEnv.put(Context.SECURITY_CREDENTIALS, credentials); try { // Creating the JNDI directory context (with LDAP context // factory), performs an LDAP bind to the LDAP provider thereby // authenticating the username/pw. ctx = new InitialDirContext(jndiEnv); } catch (NamingException ex) { log.error("Directory context init failed", ex); throw ex; } return ctx; }
From source file:org.josso.gateway.identity.service.store.ldap.LDAPIdentityStore.java
/** * Creates an InitialLdapContext by logging into the configured Ldap Server using the provided * username and credential./*ww w.j a va2 s. c om*/ * * @return the Initial Ldap Context to be used to perform searches, etc. * @throws NamingException LDAP binding error. */ protected InitialLdapContext createLdapInitialContext(String securityPrincipal, String securityCredential) throws NamingException { Properties env = new Properties(); env.setProperty(Context.INITIAL_CONTEXT_FACTORY, getInitialContextFactory()); env.setProperty(Context.SECURITY_AUTHENTICATION, getSecurityAuthentication()); env.setProperty(Context.PROVIDER_URL, getProviderUrl()); env.setProperty(Context.SECURITY_PROTOCOL, (getSecurityProtocol() == null ? "" : getSecurityProtocol())); // Set defaults for key values if they are missing String factoryName = env.getProperty(Context.INITIAL_CONTEXT_FACTORY); if (factoryName == null) { factoryName = "com.sun.jndi.ldap.LdapCtxFactory"; env.setProperty(Context.INITIAL_CONTEXT_FACTORY, factoryName); } String authType = env.getProperty(Context.SECURITY_AUTHENTICATION); if (authType == null) env.setProperty(Context.SECURITY_AUTHENTICATION, "simple"); String protocol = env.getProperty(Context.SECURITY_PROTOCOL); String providerURL = getProviderUrl(); // Use localhost if providerUrl not set if (providerURL == null) { //providerURL = "ldap://localhost:" + ((protocol != null && protocol.equals("ssl")) ? "636" : "389"); if (protocol != null && protocol.equals("ssl")) { // We should use Start TLS extension? providerURL = "ldaps://localhost:636"; } else { providerURL = "ldap://localhost:389"; } } env.setProperty(Context.PROVIDER_URL, providerURL); env.setProperty(Context.SECURITY_PRINCIPAL, securityPrincipal); env.put(Context.SECURITY_CREDENTIALS, securityCredential); // always follow referrals transparently env.put(Context.REFERRAL, "follow"); // Logon into LDAP server if (logger.isDebugEnabled()) logger.debug("Logging into LDAP server, env=" + env); InitialLdapContext ctx = new InitialLdapContext(env, null); if (logger.isDebugEnabled()) logger.debug("Logged into LDAP server, " + ctx); return ctx; }
From source file:org.kitodo.production.services.data.LdapServerService.java
private Hashtable<String, String> initializeWithLdapConnectionSettings(LdapServer ldapServer) { Hashtable<String, String> env = new Hashtable<>(11); env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); env.put(Context.PROVIDER_URL, ldapServer.getUrl()); env.put(Context.SECURITY_AUTHENTICATION, "simple"); env.put(Context.SECURITY_PRINCIPAL, ldapServer.getManagerLogin()); String encryptedManagerPassword = ldapServer.getManagerPassword(); String decryptedManagerPassword = passwordEncoder.decrypt(encryptedManagerPassword); env.put(Context.SECURITY_CREDENTIALS, decryptedManagerPassword); if (ldapServer.isUseSsl()) { String keystorepath = ldapServer.getKeystore(); String keystorepasswd = ldapServer.getKeystorePassword(); // add all necessary certificates first loadCertificates(keystorepath, keystorepasswd, ldapServer); // set properties, so that the current keystore is used for SSL System.setProperty("javax.net.ssl.keyStore", keystorepath); System.setProperty("javax.net.ssl.trustStore", keystorepath); System.setProperty("javax.net.ssl.keyStorePassword", keystorepasswd); env.put(Context.SECURITY_PROTOCOL, "ssl"); }/*from w w w. ja va 2 s.c o m*/ return env; }
From source file:org.olat.ldap.LDAPLoginManagerImpl.java
/** * Internal helper to add the SSL protocol to the environment * // w w w . j a va 2 s . c o m * @param env */ private void enableSSL(final Hashtable<String, String> env) { env.put(Context.SECURITY_PROTOCOL, "ssl"); System.setProperty("javax.net.ssl.trustStore", LDAPLoginModule.getTrustStoreLocation()); }
From source file:org.olat.ldap.manager.LDAPLoginManagerImpl.java
/** * Internal helper to add the SSL protocol to the environment * //from w w w.jav a2 s . com * @param env */ private void enableSSL(Hashtable<String, String> env) { env.put(Context.SECURITY_PROTOCOL, "ssl"); if (StringHelper.containsNonWhitespace(ldapLoginModule.getTrustStoreLocation())) { System.setProperty("javax.net.ssl.trustStore", ldapLoginModule.getTrustStoreLocation()); } }
From source file:org.openiam.idm.srvc.synch.service.generic.LdapAdapterForGenericObject.java
private boolean connect(SynchConfig config) throws NamingException { Hashtable<String, String> envDC = new Hashtable(); System.setProperty("javax.net.ssl.trustStore", keystore); String hostUrl = config.getSrcHost(); // managedSys.getHostUrl(); log.debug("Directory host url:" + hostUrl); envDC.put(Context.PROVIDER_URL, hostUrl); envDC.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); envDC.put(Context.SECURITY_AUTHENTICATION, "simple"); // simple envDC.put(Context.SECURITY_PRINCIPAL, config.getSrcLoginId()); // "administrator@diamelle.local" envDC.put(Context.SECURITY_CREDENTIALS, config.getSrcPassword()); if (hostUrl.contains("ldaps")) { envDC.put(Context.SECURITY_PROTOCOL, "SSL"); }/*from www .j a v a 2 s. co m*/ ctx = new InitialLdapContext(envDC, null); if (ctx != null) { return true; } return false; }
From source file:org.opentravel.schemacompiler.security.impl.JNDIAuthenticationProvider.java
/** * Creates the directory context configuration. * // w w w . j av a 2s . c o m * @param loginId * the user principal ID to use when establishing the connection * @param loginPassword * the password credentials to use when establishing the connection * @param isConnectionRetry * if true, the alternate URL will be employed * @return Hashtable<String,String> */ protected Hashtable<String, String> getDirectoryContextEnvironment(String loginId, String loginPassword, boolean isConnectionRetry) { Hashtable<String, String> env = new Hashtable<String, String>(); env.put(Context.INITIAL_CONTEXT_FACTORY, contextFactory); if (!isConnectionRetry) { env.put(Context.PROVIDER_URL, connectionUrl); } else if (alternateUrl != null) { env.put(Context.PROVIDER_URL, alternateUrl); } if (loginId != null) { env.put(Context.SECURITY_PRINCIPAL, loginId); } if (loginPassword != null) { env.put(Context.SECURITY_CREDENTIALS, loginPassword); } if (securityAuthentication != null) { env.put(Context.SECURITY_AUTHENTICATION, securityAuthentication); } if (connectionProtocol != null) { env.put(Context.SECURITY_PROTOCOL, connectionProtocol); } if (referralStrategy != null) { env.put(Context.REFERRAL, referralStrategy); } if (connectionTimeout > 0) { env.put("com.sun.jndi.ldap.connect.timeout", connectionTimeout + ""); } return env; }
From source file:org.orbeon.oxf.processor.LDAPProcessor.java
private DirContext connect(Config config) { try {// w w w .j a v a 2 s . c o m Properties env = new Properties(); env.put(Context.SECURITY_AUTHENTICATION, "simple"); env.put(Context.SECURITY_PRINCIPAL, config.getBindDN()); env.put(Context.SECURITY_CREDENTIALS, config.getPassword()); env.put(LDAP_VERSION, DEFAULT_LDAP_VERSION); env.put(Context.INITIAL_CONTEXT_FACTORY, DEFAULT_CTX); env.put(Context.PROVIDER_URL, "ldap://" + config.getHost() + ":" + config.getPort()); if (config.getReferral() != null) { env.put(Context.REFERRAL, config.getReferral()); } if (config.getProtocol() != null) env.put(Context.SECURITY_PROTOCOL, config.getProtocol()); env.put("com.sun.jndi.ldap.connect.pool", "true"); return new InitialDirContext(env); } catch (NamingException e) { throw new OXFException("LDAP connect Failed", e); } }
From source file:org.rhq.enterprise.server.core.CustomJaasDeploymentService.java
private Map<String, String> getLdapOptions(Properties conf) { Map<String, String> configOptions = new HashMap<String, String>(); configOptions.put(Context.INITIAL_CONTEXT_FACTORY, conf.getProperty(RHQConstants.LDAPFactory)); configOptions.put(Context.PROVIDER_URL, conf.getProperty(RHQConstants.LDAPUrl)); String value = conf.getProperty(SystemSetting.USE_SSL_FOR_LDAP.getInternalName()); boolean ldapSsl = "ssl".equalsIgnoreCase(value); configOptions.put(Context.SECURITY_PROTOCOL, (ldapSsl) ? "ssl" : null); configOptions.put("LoginProperty", conf.getProperty(RHQConstants.LDAPLoginProperty)); configOptions.put("Filter", conf.getProperty(RHQConstants.LDAPFilter)); configOptions.put("GroupFilter", conf.getProperty(RHQConstants.LDAPGroupFilter)); configOptions.put("GroupMemberFilter", conf.getProperty(RHQConstants.LDAPGroupMember)); configOptions.put("BaseDN", conf.getProperty(RHQConstants.LDAPBaseDN)); configOptions.put("BindDN", conf.getProperty(RHQConstants.LDAPBindDN)); configOptions.put("BindPW", conf.getProperty(RHQConstants.LDAPBindPW)); return configOptions; }