diff options
author | Kenta Moriuchi <moriken@kimamass.com> | 2024-01-11 07:37:25 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-10 15:37:25 -0700 |
commit | 515a34b4de222e35c7ade1b92614d746e73d4c2e (patch) | |
tree | 8284201fc826a33f12597959a8a8be14e0f524bd /ext/node/polyfills/internal/crypto/keygen.ts | |
parent | d4893eb51a01c5a692d8ca74a3b8ff95c5fd1d9f (diff) |
refactor: use `core.ensureFastOps()` (#21888)
Diffstat (limited to 'ext/node/polyfills/internal/crypto/keygen.ts')
-rw-r--r-- | ext/node/polyfills/internal/crypto/keygen.ts | 35 |
1 files changed, 22 insertions, 13 deletions
diff --git a/ext/node/polyfills/internal/crypto/keygen.ts b/ext/node/polyfills/internal/crypto/keygen.ts index d11399caf..7b6c58d59 100644 --- a/ext/node/polyfills/internal/crypto/keygen.ts +++ b/ext/node/polyfills/internal/crypto/keygen.ts @@ -29,18 +29,27 @@ import { import { Buffer } from "node:buffer"; import { KeyFormat, KeyType } from "ext:deno_node/internal/crypto/types.ts"; -const { core } = globalThis.__bootstrap; -const { ops } = core; +import { core } from "ext:core/mod.js"; const { + op_node_dh_generate, op_node_dh_generate_async, + op_node_dh_generate_group, op_node_dh_generate_group_async, + op_node_dsa_generate, op_node_dsa_generate_async, + op_node_ec_generate, op_node_ec_generate_async, - op_node_generate_rsa_async, - op_node_generate_secret_async, + op_node_ed25519_generate, op_node_ed25519_generate_async, + op_node_generate_rsa, + op_node_generate_rsa_async, + op_node_x25519_generate, op_node_x25519_generate_async, } = core.ensureFastOps(); +const { + op_node_generate_secret, + op_node_generate_secret_async, +} = core.ensureFastOps(true); function validateGenerateKey( type: "hmac" | "aes", @@ -75,7 +84,7 @@ export function generateKeySync( const { length } = options; const key = new Uint8Array(Math.floor(length / 8)); - ops.op_node_generate_secret(key); + op_node_generate_secret(key); return new SecretKeyObject(setOwnedKey(key)); } @@ -804,7 +813,7 @@ function createJob(mode, type, options) { if (type === "rsa") { if (mode === kSync) { - return ops.op_node_generate_rsa( + return op_node_generate_rsa( modulusLength, publicExponent, ); @@ -859,7 +868,7 @@ function createJob(mode, type, options) { } if (mode === kSync) { - return ops.op_node_generate_rsa( + return op_node_generate_rsa( modulusLength, publicExponent, ); @@ -883,7 +892,7 @@ function createJob(mode, type, options) { } if (mode === kSync) { - return ops.op_node_dsa_generate(modulusLength, divisorLength); + return op_node_dsa_generate(modulusLength, divisorLength); } return op_node_dsa_generate_async( modulusLength, @@ -905,20 +914,20 @@ function createJob(mode, type, options) { } if (mode === kSync) { - return ops.op_node_ec_generate(namedCurve); + return op_node_ec_generate(namedCurve); } else { return op_node_ec_generate_async(namedCurve); } } case "ed25519": { if (mode === kSync) { - return ops.op_node_ed25519_generate(); + return op_node_ed25519_generate(); } return op_node_ed25519_generate_async(); } case "x25519": { if (mode === kSync) { - return ops.op_node_x25519_generate(); + return op_node_x25519_generate(); } return op_node_x25519_generate_async(); } @@ -944,7 +953,7 @@ function createJob(mode, type, options) { validateString(group, "options.group"); if (mode === kSync) { - return ops.op_node_dh_generate_group(group); + return op_node_dh_generate_group(group); } else { return op_node_dh_generate_group_async(group); } @@ -971,7 +980,7 @@ function createJob(mode, type, options) { const g = generator == null ? 2 : generator; if (mode === kSync) { - return ops.op_node_dh_generate(prime, primeLength ?? 0, g); + return op_node_dh_generate(prime, primeLength ?? 0, g); } else { return op_node_dh_generate_async( prime, |