Module: RubyTls::SSL
- Extended by:
- FFI::Library
- Defined in:
- lib/ruby-tls/ssl.rb
Defined Under Namespace
Constant Summary collapse
- SSL_ST_OK =
0x03- BIO_CTRL_PENDING =
opt - is their more data buffered?
10- SSL_CTRL_OPTIONS =
32- SSL_CTRL_MODE =
33- SSL_CTRL_SET_SESS_CACHE_SIZE =
42- SSL_CTRL_SET_TLSEXT_HOSTNAME =
55- SSL_CTRL_SET_TLSEXT_SERVERNAME_CB =
53- TLSEXT_NAMETYPE_host_name =
0- SSL_TLSEXT_ERR_OK =
0- SSL_TLSEXT_ERR_ALERT_WARNING =
1- SSL_TLSEXT_ERR_ALERT_FATAL =
2- SSL_TLSEXT_ERR_NOACK =
3- PrivateMaterials =
"-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQDCYYhcw6cGRbhBVShKmbWm7UVsEoBnUf0cCh8AX+MKhMxwVDWV\nIgdskntn3cSJjRtmgVJHIK0lpb/FYHQB93Ohpd9/Z18pDmovfFF9nDbFF0t39hJ/\nAqSzFB3GiVPoFFZJEE1vJqh+3jzsSF5K56bZ6azz38VlZgXeSozNW5bXkQIDAQAB\nAoGALA89gIFcr6BIBo8N5fL3aNHpZXjAICtGav+kTUpuxSiaym9cAeTHuAVv8Xgk\nH2Wbq11uz+6JMLpkQJH/WZ7EV59DPOicXrp0Imr73F3EXBfR7t2EQDYHPMthOA1D\nI9EtCzvV608Ze90hiJ7E3guGrGppZfJ+eUWCPgy8CZH1vRECQQDv67rwV/oU1aDo\n6/+d5nqjeW6mWkGqTnUU96jXap8EIw6B+0cUKskwx6mHJv+tEMM2748ZY7b0yBlg\nw4KDghbFAkEAz2h8PjSJG55LwqmXih1RONSgdN9hjB12LwXL1CaDh7/lkEhq0PlK\nPCAUwQSdM17Sl0Xxm2CZiekTSlwmHrtqXQJAF3+8QJwtV2sRJp8u2zVe37IeH1cJ\nxXeHyjTzqZ2803fnjN2iuZvzNr7noOA1/Kp+pFvUZUU5/0G2Ep8zolPUjQJAFA7k\nxRdLkzIx3XeNQjwnmLlncyYPRv+qaE3FMpUu7zftuZBnVCJnvXzUxP3vPgKTlzGa\ndg5XivDRfsV+okY5uQJBAMV4FesUuLQVEKb6lMs7rzZwpeGQhFDRfywJzfom2TLn\n2RdJQQ3dcgnhdVDgt5o1qkmsqQh8uJrJ9SdyLIaZQIc=\n-----END RSA PRIVATE KEY-----\n-----BEGIN CERTIFICATE-----\nMIID6TCCA1KgAwIBAgIJANm4W/Tzs+s+MA0GCSqGSIb3DQEBBQUAMIGqMQswCQYD\nVQQGEwJVUzERMA8GA1UECBMITmV3IFlvcmsxETAPBgNVBAcTCE5ldyBZb3JrMRYw\nFAYDVQQKEw1TdGVhbWhlYXQubmV0MRQwEgYDVQQLEwtFbmdpbmVlcmluZzEdMBsG\nA1UEAxMUb3BlbmNhLnN0ZWFtaGVhdC5uZXQxKDAmBgkqhkiG9w0BCQEWGWVuZ2lu\nZWVyaW5nQHN0ZWFtaGVhdC5uZXQwHhcNMDYwNTA1MTcwNjAzWhcNMjQwMjIwMTcw\nNjAzWjCBqjELMAkGA1UEBhMCVVMxETAPBgNVBAgTCE5ldyBZb3JrMREwDwYDVQQH\nEwhOZXcgWW9yazEWMBQGA1UEChMNU3RlYW1oZWF0Lm5ldDEUMBIGA1UECxMLRW5n\naW5lZXJpbmcxHTAbBgNVBAMTFG9wZW5jYS5zdGVhbWhlYXQubmV0MSgwJgYJKoZI\nhvcNAQkBFhllbmdpbmVlcmluZ0BzdGVhbWhlYXQubmV0MIGfMA0GCSqGSIb3DQEB\nAQUAA4GNADCBiQKBgQDCYYhcw6cGRbhBVShKmbWm7UVsEoBnUf0cCh8AX+MKhMxw\nVDWVIgdskntn3cSJjRtmgVJHIK0lpb/FYHQB93Ohpd9/Z18pDmovfFF9nDbFF0t3\n9hJ/AqSzFB3GiVPoFFZJEE1vJqh+3jzsSF5K56bZ6azz38VlZgXeSozNW5bXkQID\nAQABo4IBEzCCAQ8wHQYDVR0OBBYEFPJvPd1Fcmd8o/Tm88r+NjYPICCkMIHfBgNV\nHSMEgdcwgdSAFPJvPd1Fcmd8o/Tm88r+NjYPICCkoYGwpIGtMIGqMQswCQYDVQQG\nEwJVUzERMA8GA1UECBMITmV3IFlvcmsxETAPBgNVBAcTCE5ldyBZb3JrMRYwFAYD\nVQQKEw1TdGVhbWhlYXQubmV0MRQwEgYDVQQLEwtFbmdpbmVlcmluZzEdMBsGA1UE\nAxMUb3BlbmNhLnN0ZWFtaGVhdC5uZXQxKDAmBgkqhkiG9w0BCQEWGWVuZ2luZWVy\naW5nQHN0ZWFtaGVhdC5uZXSCCQDZuFv087PrPjAMBgNVHRMEBTADAQH/MA0GCSqG\nSIb3DQEBBQUAA4GBAC1CXey/4UoLgJiwcEMDxOvW74plks23090iziFIlGgcIhk0\nDf6hTAs7H3MWww62ddvR8l07AWfSzSP5L6mDsbvq7EmQsmPODwb6C+i2aF3EDL8j\nuw73m4YIGI0Zw2XdBpiOGkx2H56Kya6mJJe/5XORZedh1wpI7zki01tHYbcy\n-----END CERTIFICATE-----\n"- BuiltinPasswdCB =
FFI::Function.new(:int, [:pointer, :int, :int, :pointer]) do |buffer, len, flag, data| buffer.write_string('kittycat') 8 end
- DEFAULT_PRIVATE =
pointer.get_pointer(0)
- DEFAULT_CERT =
pointer.get_pointer(0)
- SSL_MODE_RELEASE_BUFFERS =
Save RAM by releasing read and write buffers when they’re empty
0x00000010- SSL_OP_ALL =
0x80000BFF
- SSL_FILETYPE_PEM =
1
Class Method Summary collapse
- .BIO_pending(bio) ⇒ Object
- .SSL_CTX_sess_set_cache_size(ssl_ctx, op) ⇒ Object
- .SSL_CTX_set_mode(ssl_ctx, op) ⇒ Object
- .SSL_CTX_set_options(ssl_ctx, op) ⇒ Object
- .SSL_CTX_set_tlsext_servername_callback(ctx, callback) ⇒ Object
- .SSL_set_tlsext_host_name(ssl, host_name) ⇒ Object
Class Method Details
.BIO_pending(bio) ⇒ Object
93 94 95 |
# File 'lib/ruby-tls/ssl.rb', line 93 def self.BIO_pending(bio) BIO_ctrl(bio, BIO_CTRL_PENDING, 0, nil) end |
.SSL_CTX_sess_set_cache_size(ssl_ctx, op) ⇒ Object
177 178 179 |
# File 'lib/ruby-tls/ssl.rb', line 177 def self.SSL_CTX_sess_set_cache_size(ssl_ctx, op) SSL_CTX_ctrl(ssl_ctx, SSL_CTRL_SET_SESS_CACHE_SIZE, op, nil) end |
.SSL_CTX_set_mode(ssl_ctx, op) ⇒ Object
173 174 175 |
# File 'lib/ruby-tls/ssl.rb', line 173 def self.SSL_CTX_set_mode(ssl_ctx, op) SSL_CTX_ctrl(ssl_ctx, SSL_CTRL_MODE, op, nil) end |
.SSL_CTX_set_options(ssl_ctx, op) ⇒ Object
169 170 171 |
# File 'lib/ruby-tls/ssl.rb', line 169 def self.(ssl_ctx, op) SSL_CTX_ctrl(ssl_ctx, SSL_CTRL_OPTIONS, op, nil) end |
.SSL_CTX_set_tlsext_servername_callback(ctx, callback) ⇒ Object
193 194 195 |
# File 'lib/ruby-tls/ssl.rb', line 193 def self.SSL_CTX_set_tlsext_servername_callback(ctx, callback) SSL_CTX_callback_ctrl(ctx, SSL_CTRL_SET_TLSEXT_SERVERNAME_CB, callback) end |
.SSL_set_tlsext_host_name(ssl, host_name) ⇒ Object
183 184 185 186 |
# File 'lib/ruby-tls/ssl.rb', line 183 def self.SSL_set_tlsext_host_name(ssl, host_name) name = FFI::MemoryPointer.from_string(host_name) SSL_ctrl(ssl, SSL_CTRL_SET_TLSEXT_HOSTNAME, TLSEXT_NAMETYPE_host_name, name) end |