[ruby/openssl] pkey: test parsing concatenated PEM string

PEM-encoded private keys are sometimes stored together with irrelevant
PEM blocks, such as the corresponding X.509 certificate.

PEM_read_bio_*() family automatically skips unknown PEM blocks, but on
OpenSSL 3.0 we will be using the new OSSL_DECODER API instead due to
some breaking changes around the password callback.

Let's add a test case so that we won't break the current behavior.

https://github.com/ruby/openssl/commit/8c185e0ae5
This commit is contained in:
Kazuki Yamaguchi 2021-11-03 23:31:29 +09:00
Родитель 1c72c95d99
Коммит 582606dc58
1 изменённых файлов: 6 добавлений и 0 удалений

Просмотреть файл

@ -306,6 +306,12 @@ class OpenSSL::TestPKeyRSA < OpenSSL::PKeyTestCase
assert_equal asn1.to_der, rsa1024.to_der
assert_equal pem, rsa1024.export
# Unknown PEM prepended
cert = issue_cert(OpenSSL::X509::Name.new([["CN", "nobody"]]), rsa1024, 1, [], nil, nil)
str = cert.to_text + cert.to_pem + rsa1024.to_pem
key = OpenSSL::PKey::RSA.new(str)
assert_same_rsa rsa1024, key
end
def test_RSAPrivateKey_encrypted