kit.program/kit/test/debug_sm2_version.js
cheney b73d9b0aac
Some checks are pending
TDevOPsCICD / build-image (push) Waiting to run
测试通过
2026-04-04 18:24:03 +08:00

36 lines
1.3 KiB
JavaScript

const sm2 = require('sm-crypto').sm2;
const sm3 = require('sm-crypto').sm3;
console.log('=== 检查 sm-crypto 版本 ===');
console.log('sm-crypto 版本:', require('sm-crypto/package.json').version);
// 测试公钥格式
console.log('\n=== 测试公钥格式 ===');
// 生成一个有效的 SM2 密钥对
const keypair = sm2.generateKeyPairHex();
console.log('生成的公钥:', keypair.publicKey);
console.log('生成的公钥长度:', keypair.publicKey.length);
// 用户提供的公钥
const userPublicKey = 'bb7754e559f6d158d52fdc4608244f07f12901363a1d6db8fb3219bf8e827efd11d8f18cf9926cfdd61aaf0eea2429e921b7b94f43ca9b2c89213355ad59e731';
console.log('\n用户提供的公钥:', userPublicKey);
console.log('用户提供的公钥长度:', userPublicKey.length);
// 测试用户公钥
console.log('\n=== 测试用户公钥 ===');
try {
const data = 'test';
const sig = sm2.doSignature(data, keypair.privateKey);
// 尝试使用生成的公钥验证(应该成功)
const verify1 = sm2.doVerifySignature(data, sig, keypair.publicKey);
console.log('使用生成的公钥验证:', verify1);
// 尝试使用用户公钥验证(应该失败)
const verify2 = sm2.doVerifySignature(data, sig, userPublicKey);
console.log('使用用户公钥验证:', verify2);
} catch (e) {
console.error('错误:', e.message);
}