Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

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

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 <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
@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 <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
targos pushed a commit that referenced this pull request Jul 31, 2022
PR-URL: #43404
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
guangwong pushed a commit to noslate-project/node that referenced this pull request Oct 10, 2022
@panva panva deleted the fix-cfrg-import-raw branch October 13, 2022 09:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in 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