アプリケーションから送信された電子メールに s/mime 証明書を使用して署名しようとしています。このアプリケーションは、JRuby 1.7.26 と jruby-openssl gem の最新バージョンを使用します。(バージョン 0.9.19)。次のように秘密鍵を読み込もうとすると:
key_file = File.read(Rails.root.join('config', 'domain.key'))
private_key = OpenSSL::PKey::RSA.new(key_file)
次のエラーが表示されます。
Java::JavaLang::NoSuchMethodError: org.bouncycastle.util.encoders.Base64.encode([BII)[B
from org.jruby.ext.openssl.x509store.PEMInputOutput.writeEncoded(PEMInputOutput.java:1496)
...
それが機能する場合、次のように電子メールに署名したいと思います。
data = "Test"
OpenSSL::PKCS7.write_smime(OpenSSL::PKCS7.sign(certificate, private_key, data, [], OpenSSL::PKCS7::DETACHED))
このエラーの解決策や、一般的にJRubyでメールに署名する方法を見つけるためにグーグルで検索しましたが、役立つものは何も見つかりませんでした.
よろしくお願いします。