2
2
3
3
[ ![ Actions Status] ( https://github.com/ruby/openssl/workflows/CI/badge.svg )] ( https://github.com/ruby/openssl/actions?workflow=CI )
4
4
5
+ ** OpenSSL for Ruby** provides access to SSL/TLS and general-purpose
6
+ cryptography based on the OpenSSL library.
5
7
6
- OpenSSL provides SSL, TLS and general purpose cryptography. It wraps the
7
- OpenSSL library.
8
+ OpenSSL for Ruby is sometimes referred to as ** openssl** in all lowercase
9
+ or ** Ruby/OpenSSL** for disambiguation.
10
+
11
+ ## Compatibility and maintenance policy
12
+
13
+ OpenSSL for Ruby is released as a RubyGems gem. At the same time, it is part of
14
+ the standard library of Ruby. This is called a [ default gem] .
15
+
16
+ Each stable branch of OpenSSL for Ruby will remain supported as long as it is
17
+ included as a default gem in [ supported Ruby branches] [ Ruby Maintenance Branches ] .
18
+
19
+ | Version| Maintenance status | Ruby compatibility| OpenSSL compatibility |
20
+ | -------| -------------------------------| ------------------| --------------------------------------------|
21
+ | 3.2.x | normal maintenance (Ruby 3.3) | Ruby 2.7+ | OpenSSL 1.0.2-3.1 (current) or LibreSSL 3.1+|
22
+ | 3.1.x | normal maintenance (Ruby 3.2) | Ruby 2.6+ | OpenSSL 1.0.2-3.1 (current) or LibreSSL 3.1+|
23
+ | 3.0.x | normal maintenance (Ruby 3.1) | Ruby 2.6+ | OpenSSL 1.0.2-3.1 (current) or LibreSSL 3.1+|
24
+ | 2.2.x | security maintenance (Ruby 3.0)| Ruby 2.3+ | OpenSSL 1.0.1-1.1.1 or LibreSSL 2.9+ |
25
+ | 2.1.x | end-of-life (Ruby 2.5-2.7) | Ruby 2.3+ | OpenSSL 1.0.1-1.1.1 or LibreSSL 2.5+ |
26
+ | 2.0.x | end-of-life (Ruby 2.4) | Ruby 2.3+ | OpenSSL 0.9.8-1.1.1 or LibreSSL 2.3+ |
27
+
28
+ [ default gem ] : https://docs.ruby-lang.org/en/master/standard_library_rdoc.html
29
+ [ Ruby Maintenance Branches ] : https://www.ruby-lang.org/en/downloads/branches/
8
30
9
31
## Installation
10
32
11
- The openssl gem is available at [ rubygems.org] ( https://rubygems.org/gems/openssl ) .
12
- You can install with:
33
+ > ** Note**
34
+ > The openssl gem is included with Ruby by default, but you may wish to upgrade
35
+ > it to a newer version available at
36
+ > [ rubygems.org] ( https://rubygems.org/gems/openssl ) .
37
+
38
+ To upgrade it, you can use RubyGems:
13
39
14
40
```
15
41
gem install openssl
16
42
```
17
43
18
- You may need to specify the path where OpenSSL is installed.
44
+ In some cases, it may be necessary to specify the path to the installation
45
+ directory of the OpenSSL library.
19
46
20
47
```
21
48
gem install openssl -- --with-openssl-dir=/opt/openssl
22
49
```
23
50
24
- Alternatively, you can install the gem with ` bundler ` :
51
+ Alternatively, you can install the gem with Bundler :
25
52
26
53
``` ruby
27
54
# Gemfile
@@ -30,7 +57,7 @@ gem 'openssl'
30
57
gem ' openssl' , git: ' https://github.com/ruby/openssl'
31
58
```
32
59
33
- After doing ` bundle install ` , you should have the gem installed in your bundle.
60
+ After running ` bundle install ` , you should have the gem installed in your bundle.
34
61
35
62
## Usage
36
63
@@ -40,15 +67,6 @@ Once installed, you can require "openssl" in your application.
40
67
require " openssl"
41
68
```
42
69
43
- ** NOTE** : If you are using Ruby 2.3 (and not Bundler), you ** must** activate
44
- the gem version of openssl, otherwise the default gem packaged with the Ruby
45
- installation will be used:
46
-
47
- ``` ruby
48
- gem " openssl"
49
- require " openssl"
50
- ```
51
-
52
70
## Documentation
53
71
54
72
See https://ruby.github.io/openssl/ .
@@ -57,10 +75,9 @@ See https://ruby.github.io/openssl/.
57
75
58
76
Please read our [ CONTRIBUTING.md] for instructions.
59
77
78
+ [ CONTRIBUTING.md ] : https://github.com/ruby/openssl/tree/master/CONTRIBUTING.md
79
+
60
80
## Security
61
81
62
82
Security issues should be reported to ruby-core by following the process
63
83
described on [ "Security at ruby-lang.org"] ( https://www.ruby-lang.org/en/security/ ) .
64
-
65
-
66
- [ CONTRIBUTING.md ] : https://github.com/ruby/openssl/tree/master/CONTRIBUTING.md
0 commit comments