Techioz Blog

証明書から pem への証明書が機能しない: ネストされた asn1 エラー

概要

文字列から証明書を作成したいと考えています。これが機能しない理由:

OpenSSL::X509::Certificate.new(OpenSSL::X509::Certificate.new.to_pem)

返される内容: OpenSSL::X509::CertificateError: ネストされた asn1 エラー

解決策

それで私は自分自身で答えを得ました。証明書には少なくとも次の情報が必要です。

cert = OpenSSL::X509::Certificate.new
cert.version = 2
cert.serial = 0
cert.not_before = Time.now
cert.not_after = Time.now + 3600
cert.public_key = key.public_key
cert.sign key, OpenSSL::Digest::SHA1.new

すると、次のようなことが可能になります。

OpenSSL::X509::Certificate.new(cert.to_pem) => が返されます