summaryrefslogtreecommitdiff
path: root/cli/tests/unit_node/crypto/crypto_key_test.ts
diff options
context:
space:
mode:
authorDivy Srivastava <dj.srivastava23@gmail.com>2023-11-09 09:56:59 -0800
committerGitHub <noreply@github.com>2023-11-09 23:26:59 +0530
commitc4029f6af22b373bf22383453cb4e2159f3b5b72 (patch)
tree588594d5d5eb98689101565fb76c6a546cc9e78a /cli/tests/unit_node/crypto/crypto_key_test.ts
parentee7fd0a2127e6a435023bf9a43de60130117697d (diff)
fix(node): implement createPrivateKey (#20981)
Towards #18455
Diffstat (limited to 'cli/tests/unit_node/crypto/crypto_key_test.ts')
-rw-r--r--cli/tests/unit_node/crypto/crypto_key_test.ts26
1 files changed, 26 insertions, 0 deletions
diff --git a/cli/tests/unit_node/crypto/crypto_key_test.ts b/cli/tests/unit_node/crypto/crypto_key_test.ts
index 672c9fa7f..0e56d8255 100644
--- a/cli/tests/unit_node/crypto/crypto_key_test.ts
+++ b/cli/tests/unit_node/crypto/crypto_key_test.ts
@@ -2,6 +2,7 @@
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
import {
+ createPrivateKey,
createSecretKey,
generateKeyPair,
generateKeyPairSync,
@@ -202,3 +203,28 @@ for (const primeLength of [1024, 2048, 4096]) {
},
});
}
+
+const rsaPrivateKey = Deno.readTextFileSync(
+ new URL("../testdata/rsa_private.pem", import.meta.url),
+);
+
+Deno.test("createPrivateKey rsa", function () {
+ const key = createPrivateKey(rsaPrivateKey);
+ assertEquals(key.type, "private");
+ assertEquals(key.asymmetricKeyType, "rsa");
+ assertEquals(key.asymmetricKeyDetails?.modulusLength, 2048);
+ assertEquals(key.asymmetricKeyDetails?.publicExponent, 65537n);
+});
+
+// openssl ecparam -name secp256r1 -genkey -noout -out a.pem
+// openssl pkcs8 -topk8 -nocrypt -in a.pem -out b.pem
+const ecPrivateKey = Deno.readTextFileSync(
+ new URL("./ec_private_secp256r1.pem", import.meta.url),
+);
+
+Deno.test("createPrivateKey ec", function () {
+ const key = createPrivateKey(ecPrivateKey);
+ assertEquals(key.type, "private");
+ assertEquals(key.asymmetricKeyType, "ec");
+ assertEquals(key.asymmetricKeyDetails?.namedCurve, "p256");
+});