我看到客户端身份验证是可选的,所以我试图连接到我的SSL服务器,而不对客户端进行身份验证。当我这样做时,服务器上会出现以下错误:
, in accept_connection
ssl_version=ssl.PROTOCOL_SSLv23
File "/usr/lib/python2.7/ssl.py", line 933, in wrap_socket
ciphers=ciphers)
File "/usr/lib/python2.7/ssl.py", line 601, in __init__
self.do_handshak
我必须调用一个需要带有客户端身份验证的SSL的服务。我有一个p12客户端证书(私有和公共)和一个公共远程服务器证书。
Java客户端:远程证书在jks中,服务运行良好。
c#:我尝试使用相同的p12进行身份验证,并将pem (使用keytool从jks导出)加载到LocalComputer个人文件夹中,但我得到了一个例外:
The remote certificate is invalid according to the validation procedure.
我检查了服务器证书的细节,发现链无法完成;我想是因为证书颁发者的范围不包含签名权。
如果这是正确的,为什么java是工作的?
我有多组传感器网络,它们正在向.net web api发送数据。以某种方式,我需要保护API的一些端点(以便我可以确定发送到API的信息确实来自传感器)。基本身份验证和SSL似乎是一种方法。问题是我在理解SSL部分时遇到了问题。
到目前为止,我已经创建了一个存储在传感器上的客户端证书,证书的信息可以通过Request.GetClientCertificate()方法在API中检索到。当我只想用基本身份验证保护我的Api时,这是不是有点过头了?也就是说,仅仅通过https发送数据而不提供证书,通信是否安全?
我不需要使用证书进行身份验证(因为这是通过基本身份验证完成的)。