diff options
Diffstat (limited to 'cli/tests/unit_node/crypto')
-rw-r--r-- | cli/tests/unit_node/crypto/crypto_key_test.ts | 26 | ||||
-rw-r--r-- | cli/tests/unit_node/crypto/ec_private_secp256r1.pem | 5 |
2 files changed, 31 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"); +}); diff --git a/cli/tests/unit_node/crypto/ec_private_secp256r1.pem b/cli/tests/unit_node/crypto/ec_private_secp256r1.pem new file mode 100644 index 000000000..f1d5c5769 --- /dev/null +++ b/cli/tests/unit_node/crypto/ec_private_secp256r1.pem @@ -0,0 +1,5 @@ +-----BEGIN PRIVATE KEY----- +MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgbT/dwqGGyRs19qy8 +XPyAZVluvTE9N6hIbyVuFyZobrahRANCAATeWMJqmunAZ6o2lumC79MklBB3Z7ZF +ToryVl8HXevci1d/R+OZ6FjYnoICxw3rMXiKMDtUTAFi2ikL20O4+62M +-----END PRIVATE KEY----- |