https://github.com/qwyng/openssl_provider
This Gem provides OpenSSL::Provider class with APIs to load providers
https://github.com/qwyng/openssl_provider
gem openssl ruby
Last synced: 2 months ago
JSON representation
This Gem provides OpenSSL::Provider class with APIs to load providers
- Host: GitHub
- URL: https://github.com/qwyng/openssl_provider
- Owner: QWYNG
- License: mit
- Created: 2023-05-28T02:33:30.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-07-18T13:24:12.000Z (almost 3 years ago)
- Last Synced: 2025-11-16T21:22:05.130Z (8 months ago)
- Topics: gem, openssl, ruby
- Language: C
- Homepage: https://rubygems.org/gems/openssl_provider
- Size: 14.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
## NOTICE
The functionality of this Gem has been merged into `ruby/openssl`
For further information, please visit https://github.com/ruby/openssl/pull/635.
# OpenSSL::Provider
The concept of provider was introduced with OpenSSL 3.
https://www.openssl.org/docs/man3.0/man7/migration_guide.html
With OpenSSL 3, it is possible to specify the provider to be used by any application, either programmatically or through a configuration file.
However, `ruby/openssl` 3.1.0 does not have an API to load providers without configuration file.
This Gem provides `OpenSSL::Provider` class with APIs to load providers.
## Installation
Install the gem and add to the application's Gemfile by executing:
$ bundle add openssl_provider
If bundler is not being used to manage dependencies, install the gem by executing:
$ gem install openssl_provider
## Usage
```ruby
require 'openssl_provider'
legacy = OpenSSL::Provider.load("legacy")
OpenSSL::Provider.providers
# => [#, #]
# default provider does not support RC4
# OpenSSL::Cipher.new("RC4")
# => OpenSSL::Cipher::CipherError: unsupported
cipher = OpenSSL::Cipher.new("RC4")
# do something with cipher...
OpenSSL::Provider.unload(legacy)
```
## Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/QWYNG/openssl_provider. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/QWYNG/openssl_provider/blob/main/CODE_OF_CONDUCT.md).
## License
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
## Code of Conduct
Everyone interacting in the OpensslProvider project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/QWYNG/openssl_provider/blob/main/CODE_OF_CONDUCT.md).