Module: RubyTls::SSL
- Extended by:
- FFI::Library
- Defined in:
- lib/ruby-tls/ssl.rb
Defined Under Namespace
Constant Summary collapse
- SSL_ST_OK =
CONSTANTS
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- 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
- CRYPTO_LOCK =
0x1- LockingCB =
FFI::Function.new(:void, [:int, :int, :string, :int]) do |mode, type, file, line| if (mode & CRYPTO_LOCK) != 0 SSL_LOCKS[type].lock else # Unlock a lock SSL_LOCKS[type].unlock end end
- ThreadIdCB =
FFI::Function.new(:ulong, []) do Thread.current.object_id end
- SSL_LOCKS =
Setup multi-threaded support
[]
- 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_is_init_finished(ssl) ⇒ Object
Class Method Details
.BIO_pending(bio) ⇒ Object
77 78 79 |
# File 'lib/ruby-tls/ssl.rb', line 77 def self.BIO_pending(bio) BIO_ctrl(bio, BIO_CTRL_PENDING, 0, nil) end |
.SSL_CTX_sess_set_cache_size(ssl_ctx, op) ⇒ Object
138 139 140 |
# File 'lib/ruby-tls/ssl.rb', line 138 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
134 135 136 |
# File 'lib/ruby-tls/ssl.rb', line 134 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
130 131 132 |
# File 'lib/ruby-tls/ssl.rb', line 130 def self.(ssl_ctx, op) SSL_CTX_ctrl(ssl_ctx, SSL_CTRL_OPTIONS, op, nil) end |
.SSL_is_init_finished(ssl) ⇒ Object
58 59 60 |
# File 'lib/ruby-tls/ssl.rb', line 58 def self.SSL_is_init_finished(ssl) SSL_state(ssl) == SSL_ST_OK end |