javax.net.ssl.SSLEngine.setNeedClientAuth()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(11.2k)|赞(0)|评价(0)|浏览(578)

本文整理了Java中javax.net.ssl.SSLEngine.setNeedClientAuth()方法的一些代码示例,展示了SSLEngine.setNeedClientAuth()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。SSLEngine.setNeedClientAuth()方法的具体详情如下:
包路径:javax.net.ssl.SSLEngine
类名称:SSLEngine
方法名:setNeedClientAuth

SSLEngine.setNeedClientAuth介绍

[英]Sets whether this engine must require client authentication. The client authentication is one of:

  • authentication required
  • authentication requested
  • no authentication needed
    This method overrides the setting of #setWantClientAuth(boolean).
    [中]设置此引擎是否必须要求客户端身份验证。客户端身份验证是以下之一:
    *需要身份验证
    *请求验证
    *不需要身份验证
    此方法覆盖#setWantClientAuth(布尔值)的设置。

代码示例

代码示例来源:origin: ffay/lanproxy

  1. private ChannelHandler createSslHandler(SSLContext sslContext, boolean needsClientAuth) {
  2. SSLEngine sslEngine = sslContext.createSSLEngine();
  3. sslEngine.setUseClientMode(false);
  4. if (needsClientAuth) {
  5. sslEngine.setNeedClientAuth(true);
  6. }
  7. return new SslHandler(sslEngine);
  8. }

代码示例来源:origin: apache/nifi

  1. private PeerChannel createPeerChannel(final SocketChannel channel, final String peerDescription) {
  2. if (sslContext == null) {
  3. logger.debug("No SSL Context is available so will not perform SSL Handshake with Peer {}", peerDescription);
  4. return new PeerChannel(channel, null, peerDescription);
  5. }
  6. logger.debug("Performing SSL Handshake with Peer {}", peerDescription);
  7. final SSLEngine sslEngine = sslContext.createSSLEngine();
  8. sslEngine.setUseClientMode(true);
  9. sslEngine.setNeedClientAuth(true);
  10. return new PeerChannel(channel, sslEngine, peerDescription);
  11. }

代码示例来源:origin: apache/kafka

  1. private SSLEngine createSslEngine(SSLContext sslContext, String peerHost, int peerPort) {
  2. SSLEngine sslEngine = sslContext.createSSLEngine(peerHost, peerPort);
  3. if (cipherSuites != null) sslEngine.setEnabledCipherSuites(cipherSuites);
  4. if (enabledProtocols != null) sslEngine.setEnabledProtocols(enabledProtocols);
  5. // SSLParameters#setEndpointIdentificationAlgorithm enables endpoint validation
  6. // only in client mode. Hence, validation is enabled only for clients.
  7. if (mode == Mode.SERVER) {
  8. sslEngine.setUseClientMode(false);
  9. if (needClientAuth)
  10. sslEngine.setNeedClientAuth(needClientAuth);
  11. else
  12. sslEngine.setWantClientAuth(wantClientAuth);
  13. } else {
  14. sslEngine.setUseClientMode(true);
  15. SSLParameters sslParams = sslEngine.getSSLParameters();
  16. sslParams.setEndpointIdentificationAlgorithm(endpointIdentification);
  17. sslEngine.setSSLParameters(sslParams);
  18. }
  19. return sslEngine;
  20. }

代码示例来源:origin: org.apache.hadoop/hadoop-common

  1. /**
  2. * Returns a configured SSLEngine.
  3. *
  4. * @return the configured SSLEngine.
  5. * @throws GeneralSecurityException thrown if the SSL engine could not
  6. * be initialized.
  7. * @throws IOException thrown if and IO error occurred while loading
  8. * the server keystore.
  9. */
  10. public SSLEngine createSSLEngine()
  11. throws GeneralSecurityException, IOException {
  12. SSLEngine sslEngine = context.createSSLEngine();
  13. if (mode == Mode.CLIENT) {
  14. sslEngine.setUseClientMode(true);
  15. } else {
  16. sslEngine.setUseClientMode(false);
  17. sslEngine.setNeedClientAuth(requireClientCert);
  18. disableExcludedCiphers(sslEngine);
  19. }
  20. sslEngine.setEnabledProtocols(enabledProtocols);
  21. return sslEngine;
  22. }

代码示例来源:origin: apache/nifi

  1. public SSLSocketChannel(final SSLContext sslContext, final String hostname, final int port, final InetAddress localAddress, final boolean client) throws IOException {
  2. this.socketAddress = new InetSocketAddress(hostname, port);
  3. this.channel = SocketChannel.open();
  4. if (localAddress != null) {
  5. final SocketAddress localSocketAddress = new InetSocketAddress(localAddress, 0);
  6. this.channel.bind(localSocketAddress);
  7. }
  8. this.hostname = hostname;
  9. this.port = port;
  10. this.engine = sslContext.createSSLEngine();
  11. this.engine.setUseClientMode(client);
  12. engine.setNeedClientAuth(true);
  13. streamInManager = new BufferStateManager(ByteBuffer.allocate(engine.getSession().getPacketBufferSize()));
  14. streamOutManager = new BufferStateManager(ByteBuffer.allocate(engine.getSession().getPacketBufferSize()));
  15. appDataManager = new BufferStateManager(ByteBuffer.allocate(engine.getSession().getApplicationBufferSize()));
  16. }

代码示例来源:origin: apache/nifi

  1. public SSLSocketChannel(final SSLContext sslContext, final SocketChannel socketChannel, final boolean client) throws IOException {
  2. if (!socketChannel.isConnected()) {
  3. throw new IllegalArgumentException("Cannot pass an un-connected SocketChannel");
  4. }
  5. this.channel = socketChannel;
  6. this.socketAddress = socketChannel.getRemoteAddress();
  7. final Socket socket = socketChannel.socket();
  8. this.hostname = socket.getInetAddress().getHostName();
  9. this.port = socket.getPort();
  10. this.engine = sslContext.createSSLEngine();
  11. this.engine.setUseClientMode(client);
  12. this.engine.setNeedClientAuth(true);
  13. streamInManager = new BufferStateManager(ByteBuffer.allocate(engine.getSession().getPacketBufferSize()));
  14. streamOutManager = new BufferStateManager(ByteBuffer.allocate(engine.getSession().getPacketBufferSize()));
  15. appDataManager = new BufferStateManager(ByteBuffer.allocate(engine.getSession().getApplicationBufferSize()));
  16. }

代码示例来源:origin: eclipse-vertx/vert.x

  1. engine.setEnabledCipherSuites(toUse);
  2. engine.setUseClientMode(client);
  3. Set<String> protocols = new LinkedHashSet<>(enabledProtocols);
  4. protocols.retainAll(Arrays.asList(engine.getSupportedProtocols()));
  5. engine.setNeedClientAuth(true);
  6. break;
  7. engine.setNeedClientAuth(false);
  8. break;

代码示例来源:origin: andsel/moquette

  1. private ChannelHandler createSslHandler(SocketChannel channel, SslContext sslContext, boolean needsClientAuth) {
  2. SSLEngine sslEngine = sslContext.newEngine(
  3. channel.alloc(),
  4. channel.remoteAddress().getHostString(),
  5. channel.remoteAddress().getPort());
  6. sslEngine.setUseClientMode(false);
  7. if (needsClientAuth) {
  8. sslEngine.setNeedClientAuth(true);
  9. }
  10. return new SslHandler(sslEngine);
  11. }
  12. }

代码示例来源:origin: apache/zookeeper

  1. private synchronized void initSSL(ChannelPipeline p)
  2. throws X509Exception, KeyManagementException, NoSuchAlgorithmException {
  3. String authProviderProp = System.getProperty(x509Util.getSslAuthProviderProperty());
  4. SSLContext sslContext;
  5. if (authProviderProp == null) {
  6. sslContext = x509Util.getDefaultSSLContext();
  7. } else {
  8. sslContext = SSLContext.getInstance("TLSv1");
  9. X509AuthenticationProvider authProvider =
  10. (X509AuthenticationProvider)ProviderRegistry.getProvider(
  11. System.getProperty(x509Util.getSslAuthProviderProperty(), "x509"));
  12. if (authProvider == null)
  13. {
  14. LOG.error("Auth provider not found: {}", authProviderProp);
  15. throw new SSLContextException(
  16. "Could not create SSLContext with specified auth provider: " +
  17. authProviderProp);
  18. }
  19. sslContext.init(new X509KeyManager[] { authProvider.getKeyManager() },
  20. new X509TrustManager[] { authProvider.getTrustManager() },
  21. null);
  22. }
  23. SSLEngine sslEngine = sslContext.createSSLEngine();
  24. sslEngine.setUseClientMode(false);
  25. sslEngine.setNeedClientAuth(true);
  26. p.addLast("ssl", new SslHandler(sslEngine));
  27. LOG.info("SSL handler added for channel: {}", p.channel());
  28. }

代码示例来源:origin: wildfly/wildfly

  1. final SSLEngine engine = sslContext.createSSLEngine(peerAddress.getHostString(), peerAddress.getPort());
  2. final boolean clientMode = useClientMode != 0;
  3. engine.setUseClientMode(clientMode);
  4. if (! clientMode) {
  5. final SslClientAuthMode clientAuthMode = AbstractAcceptingSslChannel.this.clientAuthMode;
  6. if (clientAuthMode != null) switch (clientAuthMode) {
  7. case NOT_REQUESTED:
  8. engine.setNeedClientAuth(false);
  9. engine.setWantClientAuth(false);
  10. break;
  11. break;
  12. case REQUIRED:
  13. engine.setNeedClientAuth(true);
  14. break;
  15. default: throw new IllegalStateException();

代码示例来源:origin: wildfly/wildfly

  1. next.setUseClientMode(false);
  2. final int flagsVal = flags.get();
  3. if ((flagsVal & FL_WANT_C_AUTH) != 0) {
  4. next.setWantClientAuth(true);
  5. } else if ((flagsVal & FL_NEED_C_AUTH) != 0) {
  6. next.setNeedClientAuth(true);

代码示例来源:origin: wildfly/wildfly

  1. next.setEnabledProtocols(enabledProtocols);
  2. next.setUseClientMode(false);
  3. final int flagsVal = flags.get();
  4. if ((flagsVal & FL_WANT_C_AUTH) != 0) {
  5. next.setWantClientAuth(true);
  6. } else if ((flagsVal & FL_NEED_C_AUTH) != 0) {
  7. next.setNeedClientAuth(true);

代码示例来源:origin: wildfly/wildfly

  1. next.setEnabledProtocols(enabledProtocols);
  2. next.setUseClientMode(false);
  3. final int flagsVal = flags.get();
  4. if ((flagsVal & FL_WANT_C_AUTH) != 0) {
  5. next.setWantClientAuth(true);
  6. } else if ((flagsVal & FL_NEED_C_AUTH) != 0) {
  7. next.setNeedClientAuth(true);

代码示例来源:origin: redisson/redisson

  1. @SuppressWarnings("deprecation")
  2. private SSLEngine configureAndWrapEngine(SSLEngine engine, ByteBufAllocator alloc) {
  3. engine.setEnabledCipherSuites(cipherSuites);
  4. engine.setEnabledProtocols(protocols);
  5. engine.setUseClientMode(isClient());
  6. if (isServer()) {
  7. switch (clientAuth) {
  8. case OPTIONAL:
  9. engine.setWantClientAuth(true);
  10. break;
  11. case REQUIRE:
  12. engine.setNeedClientAuth(true);
  13. break;
  14. case NONE:
  15. break; // exhaustive cases
  16. default:
  17. throw new Error("Unknown auth " + clientAuth);
  18. }
  19. }
  20. JdkApplicationProtocolNegotiator.SslEngineWrapperFactory factory = apn.wrapperFactory();
  21. if (factory instanceof JdkApplicationProtocolNegotiator.AllocatorAwareSslEngineWrapperFactory) {
  22. return ((JdkApplicationProtocolNegotiator.AllocatorAwareSslEngineWrapperFactory) factory)
  23. .wrapSslEngine(engine, alloc, apn, isServer());
  24. }
  25. return factory.wrapSslEngine(engine, apn, isServer());
  26. }

代码示例来源:origin: apache/nifi

  1. if (sslContext != null) {
  2. final SSLEngine sslEngine = sslContext.createSSLEngine();
  3. sslEngine.setUseClientMode(false);
  4. sslEngine.setNeedClientAuth(true);
  5. break;
  6. case WANT:
  7. break;
  8. case NONE:
  9. sslEngine.setNeedClientAuth(false);
  10. sslEngine.setWantClientAuth(false);
  11. break;

代码示例来源:origin: wildfly/wildfly

  1. engine.setUseClientMode(clientMode);
  2. if (!clientMode) {
  3. final SslClientAuthMode clientAuthMode = UndertowAcceptingSslChannel.this.clientAuthMode;
  4. if (clientAuthMode != null) switch (clientAuthMode) {
  5. case NOT_REQUESTED:
  6. engine.setNeedClientAuth(false);
  7. engine.setWantClientAuth(false);
  8. break;
  9. break;
  10. case REQUIRED:
  11. engine.setNeedClientAuth(true);
  12. break;
  13. default:

代码示例来源:origin: apache/nifi

  1. } else {
  2. final SSLEngine sslEngine = sslContext.createSSLEngine();
  3. sslEngine.setUseClientMode(false);
  4. sslEngine.setNeedClientAuth(true);
  5. break;
  6. case WANT:
  7. break;
  8. case NONE:
  9. sslEngine.setNeedClientAuth(false);
  10. sslEngine.setWantClientAuth(false);
  11. break;

代码示例来源:origin: igniterealtime/Openfire

  1. /**
  2. * Creates a new SSL Engine that is configured to use server mode when handshaking.
  3. *
  4. * For Openfire, an engine is of this mode used for most purposes (as Openfire is a server by nature).
  5. *
  6. * @return A new, initialized SSLEngine instance (never null).
  7. */
  8. public SSLEngine createServerModeSSLEngine() throws UnrecoverableKeyException, NoSuchAlgorithmException, KeyStoreException, KeyManagementException
  9. {
  10. final SSLEngine sslEngine = createSSLEngine( );
  11. sslEngine.setUseClientMode( false );
  12. switch ( configuration.getClientAuth() )
  13. {
  14. case needed:
  15. sslEngine.setNeedClientAuth( true );
  16. break;
  17. case wanted:
  18. sslEngine.setWantClientAuth( true );
  19. break;
  20. case disabled:
  21. sslEngine.setWantClientAuth( false );
  22. break;
  23. }
  24. return sslEngine;
  25. }

代码示例来源:origin: wildfly/wildfly

  1. @SuppressWarnings("deprecation")
  2. private SSLEngine configureAndWrapEngine(SSLEngine engine, ByteBufAllocator alloc) {
  3. engine.setEnabledCipherSuites(cipherSuites);
  4. engine.setEnabledProtocols(protocols);
  5. engine.setUseClientMode(isClient());
  6. if (isServer()) {
  7. switch (clientAuth) {
  8. case OPTIONAL:
  9. engine.setWantClientAuth(true);
  10. break;
  11. case REQUIRE:
  12. engine.setNeedClientAuth(true);
  13. break;
  14. case NONE:
  15. break; // exhaustive cases
  16. default:
  17. throw new Error("Unknown auth " + clientAuth);
  18. }
  19. }
  20. JdkApplicationProtocolNegotiator.SslEngineWrapperFactory factory = apn.wrapperFactory();
  21. if (factory instanceof JdkApplicationProtocolNegotiator.AllocatorAwareSslEngineWrapperFactory) {
  22. return ((JdkApplicationProtocolNegotiator.AllocatorAwareSslEngineWrapperFactory) factory)
  23. .wrapSslEngine(engine, alloc, apn, isServer());
  24. }
  25. return factory.wrapSslEngine(engine, apn, isServer());
  26. }

代码示例来源:origin: apache/activemq

  1. sslEngine.setUseClientMode(false);
  2. if (enabledCipherSuites != null) {
  3. sslEngine.setEnabledCipherSuites(enabledCipherSuites);
  4. sslEngine.setNeedClientAuth(needClientAuth);

相关文章