当前位置: 首页>>代码示例>>Java>>正文


Java ProviderRegistry类代码示例

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


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

示例1: operationComplete

import org.apache.zookeeper.server.auth.ProviderRegistry; //导入依赖的package包/类
/**
 * Only allow the connection to stay open if certificate passes auth
 */
public void operationComplete(ChannelFuture future)
        throws SSLPeerUnverifiedException {
    if (future.isSuccess()) {
        LOG.debug("Successful handshake with session 0x{}",
                Long.toHexString(cnxn.sessionId));
        SSLEngine eng = sslHandler.getEngine();
        SSLSession session = eng.getSession();
        cnxn.setClientCertificateChain(session.getPeerCertificates());

        String authProviderProp
                = System.getProperty(ZKConfig.SSL_AUTHPROVIDER, "x509");

        X509AuthenticationProvider authProvider =
                (X509AuthenticationProvider)
                        ProviderRegistry.getProvider(authProviderProp);

        if (authProvider == null) {
            LOG.error("Auth provider not found: {}", authProviderProp);
            cnxn.close();
            return;
        }

        if (KeeperException.Code.OK !=
                authProvider.handleAuthentication(cnxn, null)) {
            LOG.error("Authentication failed for session 0x{}",
                    Long.toHexString(cnxn.sessionId));
            cnxn.close();
            return;
        }

        allChannels.add(future.getChannel());
        addCnxn(cnxn);
    } else {
        LOG.error("Unsuccessful handshake with session 0x{}",
                Long.toHexString(cnxn.sessionId));
        cnxn.close();
    }
}
 
开发者ID:didichuxing2,项目名称:https-github.com-apache-zookeeper,代码行数:42,代码来源:NettyServerCnxnFactory.java

示例2: initSSL

import org.apache.zookeeper.server.auth.ProviderRegistry; //导入依赖的package包/类
private synchronized void initSSL(ChannelPipeline p)
        throws X509Exception, KeyManagementException, NoSuchAlgorithmException {
    String authProviderProp = System.getProperty(ZKConfig.SSL_AUTHPROVIDER);
    SSLContext sslContext;
    if (authProviderProp == null) {
        sslContext = X509Util.createSSLContext();
    } else {
        sslContext = SSLContext.getInstance("TLSv1");
        X509AuthenticationProvider authProvider =
                (X509AuthenticationProvider)ProviderRegistry.getProvider(
                        System.getProperty(ZKConfig.SSL_AUTHPROVIDER,
                                "x509"));

        if (authProvider == null)
        {
            LOG.error("Auth provider not found: {}", authProviderProp);
            throw new SSLContextException(
                    "Could not create SSLContext with specified auth provider: " +
                    authProviderProp);
        }

        sslContext.init(new X509KeyManager[] { authProvider.getKeyManager() },
                        new X509TrustManager[] { authProvider.getTrustManager() },
                        null);
    }

    SSLEngine sslEngine = sslContext.createSSLEngine();
    sslEngine.setUseClientMode(false);
    sslEngine.setNeedClientAuth(true);

    p.addLast("ssl", new SslHandler(sslEngine));
    LOG.info("SSL handler added for channel: {}", p.getChannel());
}
 
开发者ID:didichuxing2,项目名称:https-github.com-apache-zookeeper,代码行数:34,代码来源:NettyServerCnxnFactory.java

示例3: initSSL

import org.apache.zookeeper.server.auth.ProviderRegistry; //导入依赖的package包/类
private synchronized void initSSL(ChannelPipeline p)
        throws X509Exception, KeyManagementException, NoSuchAlgorithmException {
    String authProviderProp = System.getProperty(X509Util.SSL_AUTHPROVIDER);
    SSLContext sslContext;
    if (authProviderProp == null) {
        sslContext = X509Util.createSSLContext();
    } else {
        sslContext = SSLContext.getInstance("TLSv1");
        X509AuthenticationProvider authProvider =
                (X509AuthenticationProvider)ProviderRegistry.getProvider(
                        System.getProperty(X509Util.SSL_AUTHPROVIDER,
                                "x509"));

        if (authProvider == null)
        {
            LOG.error("Auth provider not found: {}", authProviderProp);
            throw new SSLContextException(
                    "Could not create SSLContext with specified auth provider: " +
                    authProviderProp);
        }

        sslContext.init(new X509KeyManager[] { authProvider.getKeyManager() },
                        new X509TrustManager[] { authProvider.getTrustManager() },
                        null);
    }

    SSLEngine sslEngine = sslContext.createSSLEngine();
    sslEngine.setUseClientMode(false);
    sslEngine.setNeedClientAuth(true);

    p.addLast("ssl", new SslHandler(sslEngine));
    LOG.info("SSL handler added for channel: {}", p.getChannel());
}
 
开发者ID:sereca,项目名称:SecureKeeper,代码行数:34,代码来源:NettyServerCnxnFactory.java

示例4: operationComplete

import org.apache.zookeeper.server.auth.ProviderRegistry; //导入依赖的package包/类
/**
       * Only allow the connection to stay open if certificate passes auth
       */
      public void operationComplete(ChannelFuture future)
              throws SSLPeerUnverifiedException {
          if (future.isSuccess()) {
              LOG.debug("Successful handshake with session 0x{}",
                      Long.toHexString(cnxn.sessionId));
              SSLEngine eng = sslHandler.getEngine();
              SSLSession session = eng.getSession();
LOG.debug("ciphersuite: " + session.getCipherSuite());
LOG.debug("protocol: " + session.getProtocol());
              cnxn.setClientCertificateChain(session.getPeerCertificates());

              String authProviderProp
                      = System.getProperty(X509Util.SSL_AUTHPROVIDER, "x509");

              X509AuthenticationProvider authProvider =
                      (X509AuthenticationProvider)
                              ProviderRegistry.getProvider(authProviderProp);

              if (authProvider == null) {
                  LOG.error("Auth provider not found: {}", authProviderProp);
                  cnxn.close();
                  return;
              }

              if (KeeperException.Code.OK !=
                      authProvider.handleAuthentication(cnxn, null)) {
                  LOG.error("Authentication failed for session 0x{}",
                          Long.toHexString(cnxn.sessionId));
                  cnxn.close();
                  return;
              }

              allChannels.add(future.getChannel());
              addCnxn(cnxn);
          } else {
              LOG.error("Unsuccessful handshake with session 0x{}",
                      Long.toHexString(cnxn.sessionId));
              cnxn.close();
          }
      }
 
开发者ID:sereca,项目名称:SecureKeeper,代码行数:44,代码来源:NettyServerCnxnFactory.java


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