summaryrefslogtreecommitdiff
path: root/cli/tests/unit_node/crypto/crypto_key_test.ts
diff options
context:
space:
mode:
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");
+});