Skip to content

crypto: fix webcrypto import of cfrg raw public keys #43404

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Merged
merged 1 commit into from
Jun 15, 2022

Conversation

panva
Copy link
Member

@panva panva commented Jun 13, 2022

Fixes import of raw CFRG public keys in Web Crypto API.

Before:

const x = Buffer.from(crypto.generateKeyPairSync('ed25519').publicKey.export({ format: 'jwk' }).x, 'base64')
await crypto.subtle.importKey('raw', x, 'Ed25519', true, ['verify'])
DOMException [OperationError]: Unable to import CFRG key
    at new DOMException (node:internal/per_context/domexception:53:5)
    at __node_internal_ (node:internal/util:502:10)
    at Object.cfrgImportKey (node:internal/crypto/cfrg:300:15)
    at SubtleCrypto.importKey (node:internal/crypto/webcrypto:528:10)

After:

CryptoKey {
  type: 'public',
  extractable: true,
  algorithm: { name: 'Ed25519' },
  usages: [ 'verify' ]
}

@panva panva added crypto Issues and PRs related to the crypto subsystem. experimental Issues and PRs related to experimental features. webcrypto labels Jun 13, 2022
@panva panva requested review from jasnell and tniessen June 13, 2022 13:21
@nodejs-github-bot
Copy link
Collaborator

Review requested:

  • @nodejs/crypto

@nodejs-github-bot nodejs-github-bot added the needs-ci PRs that need a full CI run. label Jun 13, 2022
@panva panva added the request-ci Add this label to start a Jenkins CI on a PR. label Jun 13, 2022
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Jun 13, 2022
@nodejs-github-bot

This comment was marked as outdated.

@panva panva added the author ready PRs that have at least one approval, no pending requests for changes, and a CI started. label Jun 13, 2022
@panva
Copy link
Member Author

panva commented Jun 13, 2022

@twiss FYI

@nodejs-github-bot

This comment was marked as outdated.

@nodejs-github-bot

This comment was marked as outdated.

@nodejs-github-bot

This comment was marked as outdated.

@nodejs-github-bot

This comment was marked as outdated.

@nodejs-github-bot

This comment was marked as outdated.

@nodejs-github-bot
Copy link
Collaborator

CI: https://ci.nodejs.org/job/node-test-pull-request/44546/

@panva panva added the commit-queue Add this label to land a pull request using GitHub Actions. label Jun 15, 2022
@nodejs-github-bot nodejs-github-bot removed the commit-queue Add this label to land a pull request using GitHub Actions. label Jun 15, 2022
@nodejs-github-bot nodejs-github-bot merged commit 5fad0b9 into nodejs:master Jun 15, 2022
@nodejs-github-bot
Copy link
Collaborator

Landed in 5fad0b9

danielleadams pushed a commit that referenced this pull request Jun 16, 2022
PR-URL: #43404
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
@danielleadams danielleadams mentioned this pull request Jun 16, 2022
targos pushed a commit that referenced this pull request Jul 12, 2022
PR-URL: #43404
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
targos pushed a commit that referenced this pull request Jul 31, 2022
PR-URL: #43404
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
guangwong pushed a commit to noslate-project/node that referenced this pull request Oct 10, 2022
PR-URL: nodejs/node#43404
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
@panva panva deleted the fix-cfrg-import-raw branch October 13, 2022 09:12
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
author ready PRs that have at least one approval, no pending requests for changes, and a CI started. crypto Issues and PRs related to the crypto subsystem. experimental Issues and PRs related to experimental features. needs-ci PRs that need a full CI run. webcrypto
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants