问题标签 [jruby-openssl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - Gem::LoadError: 无法激活 jruby-openssl-0.9.5-java,已经激活了 jruby-openssl-0.9.7-java
执行bundle install --path vendor/cache时出现以下错误:
我正在使用 jruby 1.7.16。我尝试删除供应商,删除 Gemfile.lock 但没有解决此问题。
有人可以建议什么可以解决这个问题。
提前致谢。
jruby - JRuby 在 bouncycastle 中使用 jruby-openssl 加载私钥时出错
我正在尝试使用 s/mime 证书对我的应用程序发送的电子邮件进行签名。该应用程序使用 JRuby 1.7.26 和最新版本的 jruby-openssl gem。(版本 0.9.19)。当我尝试像这样加载我的私钥时:
我收到此错误:
如果可行,我想签署这样的电子邮件:
我在谷歌上搜索了很多以找到解决此错误或如何使用 JRuby 签署电子邮件的一般方法,但我找不到任何有用的东西。
预先感谢您的任何帮助。
openssl - Jruby OpenSSL RSA Base64 私钥无法实例化对象
在 Ruby 中,我有创建 RSA 公钥或私钥的简单旧源代码行:
我的 RSA 公钥和私钥格式如下,我对 MRI 和 Jruby 使用完全相同的密钥文件:
当我在 MRI v2.4.0 上运行它时——任何问题,我都可以实例化公钥和私钥:
但是使用 Jruby 9.0.4.0 和 9.1.8.0 我可以成功启动公共但在初始化私钥上失败:
但未能创建私钥对象:
然后我尝试使用私钥,我已经从 PEM 文件中删除了 -----BEGIN RSA PRIVATE KEY----- 和 -----END RSA PRIVATE KEY-----,之后我能够在 Jruby 上执行此操作:
有什么方法可以让 Jruby OpenSSL 自动检测 PEM 文件格式并加载 Base64 私钥?这是令人沮丧的 Base64 格式的公钥成功打开,私钥没有。
ruby - 如何手动设置邮件模块的 SSL/TLS 版本
我正在使用 JRuby 中的 Ruby Mail 模块修复与 SSL 相关的错误。这个 Github 问题解释了这个错误(并提供了一个猴子补丁) 。
该错误的要点是,在 JRuby-1.7.19 之后的某个时间,引入了一项更改,该更改更改了 Net::SMTP 与 MRI 相关的行为。为了解决这个问题,我们必须使用以下 TLS 版本TLSv1_2_client
才能OpenSSL::SSL::SSLContext
通过 SSL/TLS 发送邮件。
打开问题的人建议为 Mail 模块使用以下猴子补丁:
我试过这个,它确实解决了Algorithm NONE
我通过猴子修补 SSLContext 来使用的问题TLSv1_2_client
,但我根本不喜欢这个解决方案,因为它是:
- 一个猴子补丁。
- 它在核心问题上使用了一个巨大的创可贴,这是一个不正确的 TLS 版本。
我为我的应用程序提出的解决方案是我只是有一个由OpenSSL::SSL::SSLCOntext::METHODS
. 输出METHODS
为:
现在我打算 fork Ruby Mail 模块,并修改smtp.rb
文件以允许自己手动设置 SSL 版本。
我同意分叉 Ruby Mail 模块并自己进行更改。
我尝试了以下方法:
这确实设置了默认的 SSL 版本,但没有解决我的问题。
如何手动设置 SSL 版本而不依赖于上面示例中的猴子补丁?