Skip to content

[v16] fix: tolerate mismatched key PEM headers#46727

Merged
nklaassen merged 1 commit intobranch/v16from
nklaassen/v16/fix-key-parse-regression
Sep 18, 2024
Merged

[v16] fix: tolerate mismatched key PEM headers#46727
nklaassen merged 1 commit intobranch/v16from
nklaassen/v16/fix-key-parse-regression

Conversation

@nklaassen
Copy link
Copy Markdown
Contributor

Backport #46725 to branch/v16

Issue #43381 introduced a regression where we now fail to parse PKCS8 encoded RSA private keys within an "RSA PRIVATE KEY" PEM block in some cases.
This format is somewhat non-standard, usually PKCS8 data should be in a "PRIVATE KEY" PEM block. However, certain versions of OpenSSL and possibly even Teleport in specific cases have generated private keys in this format.

This commit updates ParsePrivateKey and ParsePublicKey to be more tolerant of PKCS8, PKCS1, or PKIX key data no matter which PEM header is used.

changelog: fixed regression in private key parser to handle mismatched PEM headers

Backport #46725 to branch/v16

Issue #43381 introduced a regression where we now fail to parse PKCS8
encoded RSA private keys within an "RSA PRIVATE KEY" PEM block in
some cases.
This format is somewhat non-standard, usually PKCS8 data should be in a
"PRIVATE KEY" PEM block. However, certain versions of OpenSSL and
possibly even Teleport in specific cases have generated private keys in
this format.

This commit updates ParsePrivateKey and ParsePublicKey to be more
tolerant of PKCS8, PKCS1, or PKIX key data no matter which PEM header is
used.

changelog: fixed regression in private key parser to handle mismatched PEM headers
@nklaassen nklaassen enabled auto-merge September 18, 2024 18:59
@nklaassen nklaassen added this pull request to the merge queue Sep 18, 2024
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Sep 18, 2024
@nklaassen nklaassen added this pull request to the merge queue Sep 18, 2024
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Sep 18, 2024
@nklaassen nklaassen added this pull request to the merge queue Sep 18, 2024
Merged via the queue into branch/v16 with commit 626c618 Sep 18, 2024
@nklaassen nklaassen deleted the nklaassen/v16/fix-key-parse-regression branch September 18, 2024 20:10
@fheinecke fheinecke mentioned this pull request Apr 9, 2025
@fheinecke fheinecke mentioned this pull request Jan 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants