summaryrefslogtreecommitdiff
path: root/ext/node/polyfills/internal/crypto/keygen.ts
diff options
context:
space:
mode:
authorKenta Moriuchi <moriken@kimamass.com>2024-01-11 07:37:25 +0900
committerGitHub <noreply@github.com>2024-01-10 15:37:25 -0700
commit515a34b4de222e35c7ade1b92614d746e73d4c2e (patch)
tree8284201fc826a33f12597959a8a8be14e0f524bd /ext/node/polyfills/internal/crypto/keygen.ts
parentd4893eb51a01c5a692d8ca74a3b8ff95c5fd1d9f (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.ts35
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,