使用luaossl库创建SSL上下文时,可以选择添加证书和服务器的密钥。但是,如果我想进行相互认证怎么办?即,验证客户端证书。进行相互身份验证时,还有另一个参数,即CA的公共密钥,它为客户端颁发了证书。 luaossl库具有启用客户端身份验证的选项之类的东西,但未指定如何向上下文添加双向身份验证证书。
例如: 我正在使用内部使用luaossl库的http.tls库。这是我要改进的代码,以便可以使用此SSL上下文进行相互身份验证。
local http_tls = require "http.tls"
local openssl_pkey = require "openssl.pkey"
local openssl_x509 = require "openssl.x509"
local ssl_termination_ctx = http_tls.new_server_context()
ssl_termination_ctx:setCertificate(openssl_x509.new(row.cert))
ssl_termination_ctx:setPrivateKey(openssl_pkey.new(row.key))
http.tls中的new_server_context是here in this link。