Repository navigation
Supported asymmetric key types #26996
Copy link
Copy link
Closed as not planned
Labels
cryptoIssues and PRs related to the crypto subsystem.Issues and PRs related to the crypto subsystem.opensslIssues and PRs related to the OpenSSL dependency.Issues and PRs related to the OpenSSL dependency.staleIssues and PRs marked stale due to inactivity and scheduled for automatic closure.Issues and PRs marked stale due to inactivity and scheduled for automatic closure.
Description
This is a meta issue to keep track of asymmetric key types supported by OpenSSL and node. The following list includes all key types supported by OpenSSL 1.1.1b. Checked items are fully supported by node's KeyObject API:
-
EVP_PKEY_RSA: crypto: add key object API #24234 -
EVP_PKEY_RSA2: appears to be unusable? -
EVP_PKEY_RSA_PSS: crypto: add support for RSA-PSS keys #26960 -
EVP_PKEY_DSA: crypto: add key object API #24234 -
EVP_PKEY_DSA1: alias forNID_dsa_2, but treated likeEVP_PKEY_DSAby OpenSSL -
EVP_PKEY_DSA2: alias forNID_dsaWithSHA, but treated likeEVP_PKEY_DSAby OpenSSL -
EVP_PKEY_DSA3: alias forNID_dsaWithSHA1, but treated likeEVP_PKEY_DSAby OpenSSL -
EVP_PKEY_DSA4: alias forNID_dsaWithSHA1_2, but treated likeEVP_PKEY_DSAby OpenSSL -
EVP_PKEY_DH: crypto: modernize DH/ECDH/ECDH-ES #31178 -
EVP_PKEY_DHX -
EVP_PKEY_EC: crypto: add key object API #24234 -
EVP_PKEY_SM2: crypto: add support for SM2 #37066 -
EVP_PKEY_X25519: crypto: add support for x25119 and x448 key pair generation #26774 -
EVP_PKEY_X448: crypto: add support for x25119 and x448 key pair generation #26774 -
EVP_PKEY_ED25519: crypto: fix EdDSA support for KeyObject #26319 and crypto: add support for EdDSA key pair generation #26554 -
EVP_PKEY_ED448: crypto: fix EdDSA support for KeyObject #26319 and crypto: add support for EdDSA key pair generation #26554
The next step is to determine which of the above key types need to be dealt with in which way. Some of these types do not represent actual asymmetric keys (e.g., EVP_PKEY_SCRYPT) and thus don't need to be dealt with in the KeyObject API:
EVP_PKEY_SCRYPT: KDFEVP_PKEY_HMAC: MACEVP_PKEY_CMAC: MACEVP_PKEY_HKDF: KDFEVP_PKEY_POLY1305: MACEVP_PKEY_SIPHASH: MAC / PRFEVP_PKEY_TLS1_PRF: PRF
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
cryptoIssues and PRs related to the crypto subsystem.Issues and PRs related to the crypto subsystem.opensslIssues and PRs related to the OpenSSL dependency.Issues and PRs related to the OpenSSL dependency.staleIssues and PRs marked stale due to inactivity and scheduled for automatic closure.Issues and PRs marked stale due to inactivity and scheduled for automatic closure.
Activity
jasnell commentedon Jun 26, 2020
@tniessen ... is this still relevant? Should it remain open?
tniessen commentedon Jun 26, 2020
@jasnell I think so, yes. Please leave it open for now.
jasnell commentedon Jan 26, 2021
@tniessen ... just an update... I've got CMAC support on my todo list (revisiting the work that bnoordhuis had started but hadn't completed). I've also got poly1305 and siphash on my list but it'll be a while before I get to those.
On the key types, I'm really not convinced yet that the remaining key types are a priority.
github-actions commentedon Jun 27, 2026
This issue has been marked as stale due to 210 days of inactivity.
It will be automatically closed in 30 days if no further activity occurs. If this is still relevant, please leave a comment or update it to keep it open.
github-actions commentedon Jul 28, 2026
This issue has been automatically closed after 30 days of inactivity following its stale status (no activity for a total of 120 days).
If this is still relevant, feel free to reopen it or leave a comment with additional details so we can continue the discussion.