により、ネストされたASN1エラーに環境から証明書情報を読み取ることができません。Railsは、私はいくつかの証明書ファイル、言うすなわち.KEYファイルを持っている
私はそうのようなファイルからそれらをロードするために使用:
@private_key = OpenSSL::PKey::RSA.new(File.read(private_key_file))
しかし、私はHerokuのを使用しておりますので、私は私の証明書は、環境変数でそれらの値として保存されていていきます。
は、だから私は私の.envファイルに
COMPANY_KEY="-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKC.....\n-----END RSA PRIVATE KEY-----"
それらを貼り付けましたええ、私はMulti-line config variables in Herokuに基づいexplicits \\n
ため\n
を切り替えます。だから今、私のコードは次のようになります。
@private_key = OpenSSL::PKey::RSA.new(ENV['COMPANY_KEY'])
そして、私は、コンソールから実行した場合、私は、オブジェクトが構築され得ます。しかし、Webサーバー(Puma 3.4.0、Rails 4.2.6、Ruby 2.2.3)から実行しようとすると、同じ行を実行しようとすると悲惨なことに失敗します:Neither PUB key nor PRIV key:: nested asn1 error
私がデバッグコンソールを使用している場合は、私は、読み取りファイルがそうで "Line 1\\nLine3\\nLinea3"
とのように見えることを得る...
私はそれがファイル形式とは何かを持っていることをかなり確信している、しかし、私はすべてのアイデアがありませんし、私のような問題があったら助けてくれるかもしれません。
テスト秘密鍵を作成して投稿してください。あなたがそうしている間、[opensslを使ってRSA秘密鍵を生成する方法は?](http://stackoverflow.com/a/30493975/608639)を見てください。 ***公開鍵***と***主公開鍵情報***との違いに注意してください。カプセル化前のヘッダ(*** '----- BEGIN RSA PUBLIC KEY ---- '' ***と*** '----- BEGIN PUBLIC KEY -----' ***)。秘密鍵についても同様です。 – jww