Как получить ssl_version объекта Ruby SSLContext

Я сейчас работаю над SSLContext в OpenSSL и создал объект 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_version из ssl_object, Как я могу это сделать?

Когда я делаю:

0> ssl_object.ssl_version
=> undefined method `ssl_version' for #<OpenSSL::SSL::SSLContext:0x38106bc4>
Did you mean?  ssl_version=

Согласно документации, есть только сеттер, а не геттер.

1 ответ

Похоже, вы можете создать поддельный сокет:

OpenSSL::SSL::SSLSocket.new(
  UNIXSocket.pair.first, 
  OpenSSL::SSL::SSLContext.new("SSLv3")
).ssl_version
=> "SSLv3"
Другие вопросы по тегам