首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在bouncycastle中使用jruby-openssl加载私钥时出现JRuby错误

在bouncycastle中使用jruby-openssl加载私钥时出现JRuby错误
EN

Stack Overflow用户
提问于 2017-01-04 22:33:33
回答 1查看 87关注 0票数 1

我正在尝试使用s/mime证书对应用程序发送的电子邮件进行签名。应用程序使用JRuby 1.7.26和最新版本的jruby-openssl gem。(版本0.9.19)。当我尝试像这样加载我的私钥时:

代码语言:javascript
复制
key_file = File.read(Rails.root.join('config', 'domain.key'))
private_key = OpenSSL::PKey::RSA.new(key_file)

我得到了这个错误:

代码语言:javascript
复制
Java::JavaLang::NoSuchMethodError: org.bouncycastle.util.encoders.Base64.encode([BII)[B
from org.jruby.ext.openssl.x509store.PEMInputOutput.writeEncoded(PEMInputOutput.java:1496)
...

如果可以的话,我想在电子邮件上这样签名:

代码语言:javascript
复制
data = "Test"
OpenSSL::PKCS7.write_smime(OpenSSL::PKCS7.sign(certificate, private_key, data, [], OpenSSL::PKCS7::DETACHED))

我在谷歌上搜索了很多,想找到这个错误的解决方案,或者如何用JRuby签署电子邮件,但我找不到任何有用的东西。

提前感谢您的帮助。

EN

回答 1

Stack Overflow用户

发布于 2017-01-23 22:50:57

可能意味着从其他地方加载的类路径-> BC .jars中出现混乱。

JRuby-OpenSSL的压缩BC (在0.9.19中是1.55)具有所需的Base64方法-否则一开始就无法编译Ruby扩展位。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41466350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档