当前位置: 首页 > 知识库问答 >
问题:

有人有在Spring Cloud Gateway/Spring WebFlux中实现x509相互身份验证的简单示例吗?

阮轶
2023-03-14

从我所看到的来看,身份验证不是通过Spring Cloud Gateway本身来处理的,而是应该通过Spring WebFlux来完成--如果这是一个不正确的假设,请纠正我。我已经找到了通过Spring Security实现认证身份验证的示例,但在WebFlux中没有找到任何示例。

有人能提供一些提示甚至一些代码示例来让我走上正确的轨道吗?

共有1个答案

堵存
2023-03-14

您可以在src/main/resources/application.yml中配置它。

server:
  # for testing or development without SSL certs (HTTP) use an "appropriate"
  # non-secure port, e.g. 8080
  # for HTTPS use an "appropriate" secure port, e.g. 8443
  port: 8443
  ssl:
    # for HTTP set enabled to false, for HTTPS (with required client certs) set to true
    enabled: true
    # this is the spring cloud gateway _server_ cert
    key-store: /etc/pki/tls/private/server.p12
    key-store-password: servercertpassword
    key-store-type: PKCS12
    # this is the "bundle" of CA intermediate/root upon which the client cert has to
    # match
    trust-store: /etc/pki/ca-trust/extracted/java/cacerts
    # this `client-auth` option is where you *require* mutual-TLS, it can alternatively
    # be made optional
    client-auth: need
    trust-store-password: truststorepassword
    trust-store-type: JCEKS
management:
  # management port without SSL to allow monitoring/etc. without client certs
  # e.g. /actuator/health
  server:
    port: 8080
    ssl:
      enabled: false

如果您有一组客户机证书、一个服务器证书和trust-store/CA包,这是如何在Spring Cloud Gateway中配置它的一个示例。

您的应用程序中将提供一个X509preauthenticatedauthenticationtoken,用于通过相互TLS成功连接,其中包含客户端证书的主体/详细信息。

 类似资料:
  • 在不限制客户端证书的情况下,TLS中的相互身份验证有什么用? 以下是我对使用TLS的客户端/相互身份验证的理解。 现在rfc5246表示如下 这不会实现任何身份验证正确吗?例如,如果我有一个服务器信任由世界各地受信任的CA签署的任何证书,那么为什么还要费心于客户端身份验证呢?

  • 问题内容: 是否有人对如何使用HTTPClient 4.0.1通过x509证书执行客户端身份验证有任何友好的提示? 感谢您的时间。 问题答案: 这是一些代码,助您一臂之力。该是包含客户端证书的对象。如果服务器使用的是自签名证书,或者包含的cacerts文件中的JVM认可的不是CA所签名的证书,则需要使用。否则,要使用默认的cacerts文件,请传递给truststore参数。

  • 我正在尝试为相互身份验证设置ActiveMQ,以便客户端需要证书才能将消息传递给代理。我在代理上创建了一个密钥库和一个信任库,并导出了一个复制到客户端的证书。在客户端,我也做了同样的事情,尽管我使用的是NMS,所以我只使用导出的证书,我将其添加到代理的信任库中。我还将证书添加到另一个本地计算机可信根证书中。 代理的配置如下: ${activemq.base}/conf/login.config $

  • 我有一个遗留应用程序,我正在将它从用户密码转换为使用基于证书的身份验证。我使用的是Tomcat7,我的应用程序需要根据用户试图访问的应用程序中的URL支持4种类型的安全性 例如:少数servlet将使用HTTP少数servlet将使用HTTPS而不进行任何身份验证少数servlet将使用PKI进行相互身份验证,但是用户不会被预先知道,因此任何在证书链中拥有有效证书的用户都将被授予访问权限。应用程序

  • 本文向大家介绍javascript实现验证身份证号的有效性并提示,包括了javascript实现验证身份证号的有效性并提示的使用技巧和注意事项,需要的朋友参考一下 javascript实现验证身份证号的有效性并提示 使用方法: 效果为输入身份证号,焦掉移开后自动验证,并返回信息! 以上所述就是本文的全部内容了,希望大家能够喜欢。

  • 我正在尝试为部署在Kubernetes集群中的应用程序启用基于TLS的相互身份验证。 希望将对应用程序的访问限制为只有那些具有受信任客户端证书的用户。 基于某些情况/条件,我还希望吊销特定用户的证书,以便该用户不再能够使用其证书访问应用程序。 我尝试在kuberentes ingress controller(基于nginx)中设置Mutual TLS,方法是添加以下注释。 是包含用于颁发客户端证