• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java LDAPJSSESecureSocketFactory类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.novell.ldap.LDAPJSSESecureSocketFactory的典型用法代码示例。如果您正苦于以下问题:Java LDAPJSSESecureSocketFactory类的具体用法?Java LDAPJSSESecureSocketFactory怎么用?Java LDAPJSSESecureSocketFactory使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



LDAPJSSESecureSocketFactory类属于com.novell.ldap包,在下文中一共展示了LDAPJSSESecureSocketFactory类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: testConnectSuccess

import com.novell.ldap.LDAPJSSESecureSocketFactory; //导入依赖的package包/类
@Test
public void testConnectSuccess() throws Exception {
	KeyStore tks = KeyStore.getInstance(KeyStore.getDefaultType());
	tks.load(new FileInputStream(System.getenv("PROJ_DIR")
			+ "/test/TlsServer/conf/server.jks"), "start123".toCharArray());
	TrustManagerFactory tmf = TrustManagerFactory
			.getInstance(TrustManagerFactory.getDefaultAlgorithm());
	tmf.init(tks);

	KeyStore iks = KeyStore.getInstance(KeyStore.getDefaultType());
	iks.load(new FileInputStream(System.getenv("PROJ_DIR")
			+ "/test/TlsServer/conf/client.jks"), "start123".toCharArray());

	KeyManagerFactory kmf = 
			  KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
			kmf.init(iks, "start123".toCharArray());
			SSLContext ctx = SSLContext.getInstance("TLS");
			ctx.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
			SocketFactory factory = ctx.getSocketFactory();
	
	LDAPConnection ldap = new LDAPConnection(new LDAPJSSESecureSocketFactory((SSLSocketFactory) factory));
	ldap.connect("127.0.0.1", 10636);
	
	LDAPSearchResults res = ldap.search("", 0, "(objectClass=*)", new String[] {"namingContexts","clientCertSubject"},false);
	res.hasMore();
	LDAPEntry entry = res.next();
	if (! entry.getAttribute("namingContexts").getStringValue().equalsIgnoreCase("o=mycompany,c=us")) {
		Assert.fail("Invalid namingContexts : '" + entry.getAttribute("namingContexts").getStringValue());
	}
	
	if (! entry.getAttribute("clientCertSubject").getStringValue().equalsIgnoreCase("CN=someuser, OU=dev, O=myvd-client, L=arlington, ST=virginia, C=us")) {
		Assert.fail("Invalid clientCertSubject : '" + entry.getAttribute("clientCertSubject").getStringValue());
	}
	
	ldap.disconnect();
}
 
开发者ID:TremoloSecurity,项目名称:MyVirtualDirectory,代码行数:37,代码来源:TestClientAuth.java


示例2: createLDAPConnection

import com.novell.ldap.LDAPJSSESecureSocketFactory; //导入依赖的package包/类
/**
 * Creates a new instance of LDAPConnection, configured as required to use
 * whichever encryption method is requested within guacamole.properties.
 *
 * @return
 *     A new LDAPConnection instance which has already been configured to
 *     use the encryption method requested within guacamole.properties.
 *
 * @throws GuacamoleException
 *     If an error occurs while parsing guacamole.properties, or if the
 *     requested encryption method is actually not implemented (a bug).
 */
private LDAPConnection createLDAPConnection() throws GuacamoleException {

    // Map encryption method to proper connection and socket factory
    EncryptionMethod encryptionMethod = confService.getEncryptionMethod();
    switch (encryptionMethod) {

        // Unencrypted LDAP connection
        case NONE:
            logger.debug("Connection to LDAP server without encryption.");
            return new LDAPConnection();

        // LDAP over SSL (LDAPS)
        case SSL:
            logger.debug("Connecting to LDAP server using SSL/TLS.");
            return new LDAPConnection(new LDAPJSSESecureSocketFactory());

        // LDAP + STARTTLS
        case STARTTLS:
            logger.debug("Connecting to LDAP server using STARTTLS.");
            return new LDAPConnection(new LDAPJSSEStartTLSFactory());

        // The encryption method, though known, is not actually
        // implemented. If encountered, this would be a bug.
        default:
            throw new GuacamoleUnsupportedException("Unimplemented encryption method: " + encryptionMethod);

    }

}
 
开发者ID:apache,项目名称:guacamole-client,代码行数:42,代码来源:LDAPConnectionService.java


示例3: createLDAPConnection

import com.novell.ldap.LDAPJSSESecureSocketFactory; //导入依赖的package包/类
/**
* Create the LDAP connection
* @return true if the connection was created.
* @throws Exception
*/
private boolean createLDAPConnection() {
   try{
    //Prapare for SSL
    if (useTLS)
    {
    	System.out.println(this.getClass().getName() + " - TLS setup");
    	SSLContext sslContext = createSSLContext("TLS");
    	
    	LDAPJSSESecureSocketFactory localLDAPJSSESecureSocketFactory = new LDAPJSSESecureSocketFactory(sslContext.getSocketFactory());
    	connection = new LDAPConnection(localLDAPJSSESecureSocketFactory);
    }else{
    	System.out.println(this.getClass().getName() + " - Non TLS");
    	connection = new LDAPConnection();
    }

    
	System.out.println(this.getClass().getName() + " - Connecting to "+host+":"+port + (useTLS?" using TLS":" in clear text"));
    connection.connect(this.host, this.port);
    if (useTLS && port == 389){
    	System.out.println(this.getClass().getName() + " - Starting TLS");
    	connection.startTLS();
    }
	System.out.println(this.getClass().getName() + " - Binding");
   	connection.bind(3, this.userName, this.password.getBytes("UTF8"));
	System.out.println(this.getClass().getName() + " - LDAP Connection done");
   	return true;
   }catch (Throwable e) {
   	e.printStackTrace();
   	Throwable cause = e.getCause();
   	final Throwable exception;
   	if (cause!= null){
   		exception=cause;
   	}else{
   		exception = e;
   	}
	PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
		
		@Override
		public void run() {
	    	MessageBox messageBox = new MessageBox(PlatformUI.getWorkbench().getDisplay().getActiveShell(), SWT.ICON_ERROR);
	        messageBox.setMessage(exception.getClass().getName()+": "+exception.getMessage());
	         messageBox.open();
		}
	});

       return false;
}
   
 }
 
开发者ID:scauwe,项目名称:IDM-Enh-Trace,代码行数:55,代码来源:EDirEventSource.java



注:本文中的com.novell.ldap.LDAPJSSESecureSocketFactory类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java ConfigurationProvider类代码示例发布时间:2022-05-23
下一篇:
Java XSAnnotation类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap