请耐心等待,因为我可能对创建证书以实现TLS连接缺乏一些理解。
我试图建立一个连接与TLSv1.2加密从客户端到服务器。我已经在客户端创建了自己的CA证书和CSR,并开始签署客户端。
在生成CSR并使用CA证书签名后,在客户端:
使用的命令:
在服务器端,我还创建了一个CSR,并用我自己的CA签名:
在服务器端,在我创建CA证书并签署客户端证书后:
使用的命令:
所以在我的nginx方面,我已经这样配置了它。(流连接)
server {
listen 10043;
proxy_ssl on;
proxy_ssl_protocols TLSv1.2;
proxy_ssl_session_reuse on;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
ssl_certificate /etc/nginx/certs/tls_certs/client-cert.pem;
ssl_certificate_key /etc/nginx/certs/tls_certs/client-key.pem;
ssl_dhparam /etc/nginx/certs/tls_certs/dhparam.pem;
access_log /var/log/nginx/lpe-ing.log proxy;
proxy_pass 123.456.789.123:12345;
}
在我的服务器endpoint上,它正在使用stunnel
cert = server-cert.pem
key = server-key.pem
CAfile = ca-cert.pem
verify = 3
sslVersion = all
options = NO_SSLv2
options = NO_SSLv3
options = NO_TLSv1
options = NO_TLSv1.1
[ABC-1]
accept = 12345
connect = localhost:11881
当我执行“openssl s_客户端-连接本地主机:10043-tls1_2”时,我从stunnel收到此错误
CONNECTED(00000003)
write:errno=104
stunnel日志:
2021.11.01 08:17:05 LOG3[14538:140387789453056]: SSL_accept: 140890C7: error:140890C7:SSL routines:ssl3_get_client_certificate:peer did not return a certificate
我不熟悉Nginx配置,所以我不知道你是否正确。但是我能看出你在考试中做错了什么。已成功测试不允许连接未经身份验证的客户端。OpenSSL错误并不总是清晰的,但是在这种情况下,来自服务器的消息相当清晰:
ssl3\u获取\u客户端\u证书:对等方未返回证书
您已将服务器配置为需要客户端身份验证。但是客户端没有发送证书,因此无法进行客户端身份验证,并且服务器通过关闭连接拒绝了连接尝试。(TLS客户端身份验证是这样工作的:客户端发送一个证书,然后发送一个签名,证明它知道相应的私钥。)客户端上的错误是“对等端重置连接”。
您需要将签名证书和私钥传递给客户端。
openssl s_client -connect localhost:10043 -tls1_2 -cert client_cert.pem -key client_key.pem
我想写我的第一个JavaFX 8应用程序(用e(fx)clipse等做我的第一个实验)。),并对平台独立性有一些担忧。 JavaFX 8是Oracle JRE的一部分,Oracle JRE是Windows上使用最多的JRE。因此,我真的不打扰这里,因为JavaFX将安装在几乎所有运行Java8的Windows机器上。 但是在Ubuntu和其他*nix上,OpenJDK经常被用作Java发行版。由于
关于Spring WebFlow WebClient的小问题,尤其是如何配置一个使用TLSv1.2发送出站请求的问题。 我的应用程序是Spring WebFlow 2.4.2,其中启用了HTTP/2、SSL、mTLS和TLSv1.3。 注意它是TLSv1。3,而不是设置上的TLSv1,2。 创建WebClient实例时: 并使用它向TLSv1发送请求。3启用服务器,工作正常,非常开心。 但是,我需
问题内容: 我有一个库在运行时设置和配置log4j(没有log4j.properties或log4j.xml)。我已经定义了一个名为MyLoggerFactory的类,并且我希望它是第一个使用spring初始化的bean。我已经看到spring已经提出了一个支持初始化顺序的问题,但是我想知道是否有一种方法可以将bean标记为spring容器初始化的第一个bean? 问题答案: 你的选择是: 使用批
问题内容: 我是Elasticsearch的新手,但我非常喜欢。我唯一找不到也无法完成的事情是确保生产系统的Elasticsearch安全。我在elasticsearch之前阅读了很多有关使用nginx作为代理的信息,但是我从未使用过代理,也从未使用过代理。 这是在生产系统中确保elasticsearch的典型方法吗? 如果是这样,是否有任何教程或不错的读物可以帮助我实现此功能。我真的很想在我们的
我已经安装了Visual Studio2013,当我运行我的应用程序时,我得到了下面的错误。 我不知道在哪里初始化这个对象。 怎么办? 这是给AlumCloud的
为了解决这个问题,我已经用尽了我的能力来研究和实验。我尝试过信任管理器、ssl套接字工厂、主机名验证器、方案注册表、ssl上下文修改等。