코드 이식

This commit is contained in:
2023-09-22 20:46:23 +09:00
parent 0f9d5c2dc9
commit b8d57a014a
41 changed files with 4202 additions and 7 deletions
+35
View File
@@ -0,0 +1,35 @@
import { genKey, verifyKeyFromSignKey, pemFromVerifyKey, importVerifyKey, importSignKey, pemFromSignKey } from "./ECKey.js";
import { TypeLength } from "./TypeLength.js";
import { decodePEM } from "./utils.js";
test('gen_key', async () => {
const [signKey, verifyKey] = await genKey();
expect(signKey.length).toEqual(TypeLength.ECDSA_PKCS8_P384_SignKey);
expect(verifyKey.length).toEqual(TypeLength.ECDSA_SPKI_P384_VerifyKey);
const pemVerifyKey = await pemFromVerifyKey(verifyKey);
const verifyKey2 = decodePEM(pemVerifyKey, 'PUBLIC KEY')[0];
expect(verifyKey).toEqual(verifyKey2);
});
test('convert', async () => {
const [signKey, verifyKey] = await genKey();
const newVerifyKey = await verifyKeyFromSignKey(signKey);
expect(verifyKey).toEqual(newVerifyKey);
})
test('import sign_key', async() => {
const [signKey, verifyKey] = await genKey();
const pemSignKey = pemFromSignKey(signKey);
const signKey2 = decodePEM(pemSignKey, 'EC PRIVATE KEY')[0];
const signKeyObj = await importSignKey(signKey, true);
const signKeyObj2 = await importSignKey(signKey2, true);
expect(signKeyObj).toEqual(signKeyObj2);
})