我现在正在研究OpenSSL的SSLContext,并创建了一个Ruby OpenSSL对象,如下所示:
0> ssl_object = OpenSSL::SSL::SSLContext.new("TLSv1_2_client")
=> #<OpenSSL::SSL::SSLContext:0x7acec6db>
创建了SSLContext
对象的实例。我可以通过以下方式更改此SSLContext对象:
ssl_object.ssl_version="SSLv2_3"
但是,我想了解/获得ssl_object
的ssl_version
。我该怎么做?
当我这样做时:
0> ssl_object.ssl_version
=> undefined method `ssl_version' for #<OpenSSL::SSL::SSLContext:0x38106bc4>
Did you mean? ssl_version=
根据文档,只有一个二传手,没有一个吸盘手。
看起来你可以创建一个假的套接字:
OpenSSL::SSL::SSLSocket.new(
UNIXSocket.pair.first,
OpenSSL::SSL::SSLContext.new("SSLv3")
).ssl_version
=> "SSLv3"