summaryrefslogtreecommitdiff
path: root/tests/unit_node/crypto/crypto_sign_test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit_node/crypto/crypto_sign_test.ts')
-rw-r--r--tests/unit_node/crypto/crypto_sign_test.ts30
1 files changed, 29 insertions, 1 deletions
diff --git a/tests/unit_node/crypto/crypto_sign_test.ts b/tests/unit_node/crypto/crypto_sign_test.ts
index 557eea08e..c33c9758f 100644
--- a/tests/unit_node/crypto/crypto_sign_test.ts
+++ b/tests/unit_node/crypto/crypto_sign_test.ts
@@ -1,7 +1,13 @@
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
import { assert, assertEquals } from "@std/assert";
-import { createSign, createVerify, sign, verify } from "node:crypto";
+import {
+ createSign,
+ createVerify,
+ generateKeyPairSync,
+ sign,
+ verify,
+} from "node:crypto";
import { Buffer } from "node:buffer";
import fixtures from "../testdata/crypto_digest_fixtures.json" with {
type: "json",
@@ -179,3 +185,25 @@ Deno.test("crypto.createVerify|verify - compare with node", async (t) => {
});
}
});
+
+Deno.test("crypto sign|verify dsaEncoding", () => {
+ const { privateKey, publicKey } = generateKeyPairSync("ec", {
+ namedCurve: "P-256",
+ });
+
+ const sign = createSign("SHA256");
+ sign.write("some data to sign");
+ sign.end();
+
+ // @ts-ignore FIXME: types dont allow this
+ privateKey.dsaEncoding = "ieee-p1363";
+ const signature = sign.sign(privateKey, "hex");
+
+ const verify = createVerify("SHA256");
+ verify.write("some data to sign");
+ verify.end();
+
+ // @ts-ignore FIXME: types dont allow this
+ publicKey.dsaEncoding = "ieee-p1363";
+ assert(verify.verify(publicKey, signature, "hex"));
+});