43 lines
2.3 KiB
JavaScript
43 lines
2.3 KiB
JavaScript
const crypto = require('../src/crypto.js');
|
|
|
|
// 用户提供的 SM2 PKCS7 签名数据
|
|
const sm2P7Base64 = 'MIIDKgYKKoEcz1UGAQQCAqCCAxowggMWAgEBMQ4wDAYIKoEcz1UBgxEFADAMBgoqgRzPVQYBBAIBoIICNzCCAjMwggHWoAMCAQICBgD1tfRoKTAMBggqgRzPVQGDdQUAMEAxCzAJBgNVBAYTAkNOMQ8wDQYDVQQKDAZQQkNDUkMxIDAeBgNVBAMMF1BCQ0NSQyBTTTIgT3BlcmF0aW9uIENBMB4XDTI2MDQwMjA4MDEzOVoXDTM2MDMzMDA4MDEzOVowTTELMAkGA1UEBhMCQ04xDzANBgNVBAoMBlBCQ0NSQzEtMCsGA1UEAwwkOTRmMWY5MzgtZjBiZC00NzYyLTkyOGUtZjY4YTdjY2UxNDFkMFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEu3dU5Vn20VjVL9xGCCRPB/EpATY6HW24+zIZv46Cfv0R2PGM+ZJs/dYarw7qJCnpIbe5T0PKmyyJITNVrVnnMaOBrDCBqTAfBgNVHSMEGDAWgBRUqfVQHMpD+o+YdrPK1JlRJL757zAJBgNVHRMEAjAAME8GA1UdHwRIMEYwRKBCoECkPjA8MQ4wDAYDVQQDDAVjcmw3MTEMMAoGA1UECwwDY3JsMQ8wDQYDVQQKDAZQQkNDUkMxCzAJBgNVBAYTAkNOMAsGA1UdDwQEAwIHgDAdBgNVHQ4EFgQU5bG6U0lYzWtkPJE74M/3HdafKKcwDAYIKoEcz1UBg3UFAANJADBGAiEAuLTE36/Eobcui23bFiPvOU4MOT0O0r9SyyHZ1JuvLwMCIQCejuSk03jyUAkbh1SaPx5n7WlDjI6tx9v9RJ7iw5rlojGBtzCBtAIBATBKMEAxCzAJBgNVBAYTAkNOMQ8wDQYDVQQKDAZQQkNDUkMxIDAeBgNVBAMMF1BCQ0NSQyBTTTIgT3BlcmF0aW9uIENBAgYA9bX0aCkwDAYIKoEcz1UBgxEFADANBgkqgRzPVQGCLQEFAARGMEQCIALTgWMD7io1JHfzInBwzDQpe9bonchuLFSED//JLDtnAiBmEUtr+ssAQIzFG4wY0CAj9QZxhENyCU2UYL1fhaysUA==';
|
|
|
|
console.log('=== 测试不同的原始数据 ===');
|
|
|
|
// 测试不同的原始数据
|
|
const testDataList = [
|
|
'QDJNHHVB_FWQ',
|
|
'QDJNHHVB_FWQ\n',
|
|
'QDJNHHVB_FWQ\r\n',
|
|
'QDJNHHVB FWQ', // 空格替换下划线
|
|
'QDJNHHVB_FW', // 少一个字符
|
|
'QDJNHHVB_FWQQ', // 多一个字符
|
|
'qDJNHHVB_FWQ', // 小写
|
|
'QDJnhhVB_FWQ', // 混合大小写
|
|
'1234567890', // 数字
|
|
'', // 空字符串
|
|
];
|
|
|
|
testDataList.forEach((data, index) => {
|
|
console.log(`\n测试数据 ${index + 1}: "${data}"`);
|
|
console.log(` 长度: ${data.length}`);
|
|
console.log(` UTF-8 编码: ${Buffer.from(data, 'utf8').toString('hex')}`);
|
|
|
|
const result = crypto.verifyPKCS7(sm2P7Base64, data);
|
|
console.log(` 验证结果: ${result}`);
|
|
|
|
if (result) {
|
|
console.log(' ✅ 验证成功!');
|
|
}
|
|
});
|
|
|
|
// 也测试一下 attach 模式
|
|
console.log('\n=== 测试 attach 模式 ===');
|
|
try {
|
|
const result = crypto.verifyPKCS7(sm2P7Base64);
|
|
console.log('attach 模式验证结果:', result);
|
|
} catch (e) {
|
|
console.error('attach 模式错误:', e.message);
|
|
}
|