22
33[ ![ Actions Status] ( https://github.com/ruby/openssl/workflows/CI/badge.svg )] ( https://github.com/ruby/openssl/actions?workflow=CI )
44
5+ ** OpenSSL for Ruby** provides access to SSL/TLS and general-purpose
6+ cryptography based on the OpenSSL library.
57
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/
830
931## Installation
1032
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:
1339
1440```
1541gem install openssl
1642```
1743
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.
1946
2047```
2148gem install openssl -- --with-openssl-dir=/opt/openssl
2249```
2350
24- Alternatively, you can install the gem with ` bundler ` :
51+ Alternatively, you can install the gem with Bundler :
2552
2653``` ruby
2754# Gemfile
@@ -30,7 +57,7 @@ gem 'openssl'
3057gem ' openssl' , git: ' https://github.com/ruby/openssl'
3158```
3259
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.
3461
3562## Usage
3663
@@ -40,15 +67,6 @@ Once installed, you can require "openssl" in your application.
4067require " openssl"
4168```
4269
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-
5270## Documentation
5371
5472See https://ruby.github.io/openssl/ .
@@ -57,10 +75,9 @@ See https://ruby.github.io/openssl/.
5775
5876Please read our [ CONTRIBUTING.md] for instructions.
5977
78+ [ CONTRIBUTING.md ] : https://github.com/ruby/openssl/tree/master/CONTRIBUTING.md
79+
6080## Security
6181
6282Security issues should be reported to ruby-core by following the process
6383described 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