我仍在学习使用OpenSSL在C ++中进行编程,并尝试在客户端启动与服务器的连接的位置进行构建和应用。我有
我注意到,即使我向客户端传递了不正确的证书并且(正确)失败了,连接仍然继续进行,并且客户端和服务器继续执行原本应该执行的操作。
我想问的是,
答案 0 :(得分:1)
您似乎有设计缺陷。
服务器证书的目的是保护客户端。如果控制客户端,则应该使用(检测到的)失败来中止来自客户端的连接。
如果您不控制客户端,但需要信任它,则需要使用 client 证书。这些很少见,但在HTTPS底层的SSL / TLS协议中绝对允许。客户端证书的作用是相反的:当服务器检测到客户端证书失败时,服务器可以断开连接。