繁体   English   中英

Java + Cloudflare +相互认证

Java + Cloudflare + Mutual authentication

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在尝试进行相互身份验证...我当前的问题是无法使用域工作...好像云弹未转发我的证书。

基本上,如果我直接使用IP可以正常工作:

$ curl -k -E clientkey.pem https://18.228.142.39:8443/logged_info 

(这很好)

$ curl -E clientkey.pem https://xxx.mysite.com:8443/logged_info 

(我得到525:SSL握手失败)

我已启用ssl调试器,并且证书永远无法到达服务。

我调用域时的一些SSL日志:

upcoming handshake states: server finished[20]
*** Certificate chain
https-jsse-nio-8443-exec-2, fatal error: 42: null cert chain
javax.net.ssl.SSLHandshakeException: null cert chain
%% Invalidated: [Session-1, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256]
https-jsse-nio-8443-exec-2, SEND TLSv1.2 ALERT: fatal, description = bad_certificate
https-jsse-nio-8443-exec-2, WRITE: TLSv1.2 Alert, length = 2
https-jsse-nio-8443-exec-2, fatal: engine already closed. Rethrowing javax.net.ssl.SSLHandshakeException: null cert chain
https-jsse-nio-8443-exec-2, called closeOutbound()
https-jsse-nio-8443-exec-2, closeOutboundInternal()

可能缺少一些要启用的功能吗?

1 个回复

我认为cloudflare正在终止TLS连接,然后启动到您的源的新连接,因此它(据我所知)不能仅通过代理代理证书,因为它从来没有看到客户端上的私钥。 它的出现基于 ,你可以提供你的根CA,如果你是一个企业客户的CloudFlare,他们将验证客户端识别您,针对CA. 第一篇文章还建议您打开“ Authenticated Origin Pulls”,这将确保只有cloudflare可以直接与您的原始服务器对话。

第二个链接还说:

对于使用客户端证书进行标识的公司,Cloudflare还可以将客户端证书的任何字段作为自定义标头转发。

这表示您可以将字段从密钥转发到您的来源,以便您的来源可以知道请求的来源。

1 Spark Java相互认证

我正在尝试使用spark-java和从文档中获得相互认证的REST API服务器,我看到: 安全(keystoreFilePath,keystorePassword,truststoreFilePath,truststorePassword); ...看起来正是我所需要的。 但是, ...

2 Java SOAP SSL相互认证

我有一个Java应用程序,正在向其中添加一个JAX-WS接口,并且已经使其可以通过HTTPS运行,但是我希望能够进行双向SSL身份验证。 我已经设置了密钥库和证书,并且两种方式都受信任,但是我可以找到的用于验证服务器端客户端证书的所有代码示例均无法正常运行,因为我没有在Tomcat / Gla ...

3 Grpc Java SSL相互认证

我想知道需要在GrpcSslContext中设置什么才能让Grpc Client与服务器进行SSL身份验证? 目前,以下代码适用于从服务器到客户端的常规单向SSL身份验证。 在服务器上, 在客户端, 根据gRPC在https://github.com/grpc/grp ...

4 如何在java中进行相互SSL认证

我想使用 java 代码进行相互 SSL 身份验证,但我没有成功 我有key.pem和cert.pem文件来进行身份验证我已经尝试过使用 Curl curl -X POST -d '{ "Channel": "....}' -H "Content-Type: application/json" - ...

5 Java相互认证-客户端服务器

我正在编写一个简单的Java客户端/服务器程序,其中仅与服务器建立连接就向其发送一个语句,服务器为此发送响应。 这实际上是一个简单的例子。 在上述情况下,我正在寻找基于SSL的相互身份验证。 我需要在Java中实现它。 如果您有任何示例或如何在Java中实现示例,请提出建议。 ...

6 Java TLS 1.2 相互身份验证以超时结束

我正在尝试通过 tls1.2 连接客户端和服务器。 客户端不接受协商密码套件并且不知道如何处理它。 我使用 jvm arg javax.net.debug=SSL,handshake 激活了 ssl 调试日志,并且可以看到服务器接收到 ClientHello。 服务器执行以下操作: 最终它会超 ...

7 Java HTTPS服务器:相互SSL身份验证

我已经为SOAP Web服务开发了Java 7 HTTPS服务器(我使用com.sun.net.httpserver.HttpsServer )(主要受此SO Answer影响),区别在于该服务器设置为需要客户端身份验证。 这是我使用的服务器的配置代码: 但是,在与客户端建立连接后,我 ...

8 基于Java EE证书的相互认证

我正在尝试在Java EE应用程序中设置“基于证书的相互认证”。 我的要求概述如下, 部署Web应用程序(IBM Webshpere上的Java EE),该应用程序可在www中正常使用,但是仅通过证书为经过身份验证的客户端提供访问权限。 有人可以为我提供示例代码和设置,以达到我的要求 ...

10 Java-到IIS 7.5服务器的相互身份验证-连接重置-对等方未经过身份验证

我正在构建一个Java客户端以连接到Windows IIS 7.5服务器。 现在,我正在控制两个系统,因为我正在构建概念证明,因此Windows计算机是笔记本电脑上的VM。 我已经在IIS 7.5中成功设置了客户端证书,并验证了通过自签名证书进行的相互身份验证正在通过浏览器工作。 不幸 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM