【发布时间】:2021-06-17 11:33:58
【问题描述】:
我的服务器工作看起来有点像这样
require "socket"
require "openssl"
require "thread"
listeningPort = Integer(ARGV[0])
server = TCPServer.new(listeningPort)
sslContext = OpenSSL::SSL::SSLContext.new
sslContext.cert = OpenSSL::X509::Certificate.new(File.open("cert.pem"))
sslContext.key = OpenSSL::PKey::RSA.new(File.open("priv.pem"))
sslServer = OpenSSL::SSL::SSLServer.new(server, sslContext)
puts "Listening on port #{listeningPort}"
loop do
connection = sslServer.accept
Thread.new {...}
end
当我使用 TLS1.3 连接并提供客户端证书时,当我在 ssl 上下文中验证证书时,我可以看到它正在工作,但从未在连接上设置 peer_cert,只有上下文接收会话.
是否需要手动升级到 TLS 才能从客户端访问证书?
我想要它的原因是,我可以通过查看 Gemini 协议上的证书来限制内容或进行身份验证
【问题讨论】:
标签: ruby server openssl tls1.3