sm2 验签通过

This commit is contained in:
cheney
2026-04-04 17:29:00 +08:00
parent 9d826fb985
commit 6e95e8a1b1
10 changed files with 472 additions and 12 deletions
+20 -5
View File
@@ -56,14 +56,29 @@ X9ncPP4VRERPw8U=
// 测试 2: getInfoFromPKCS7 接口(SM2)
try {
console.log('\n2. 测试 getInfoFromPKCS7 接口(SM2)');
// 这里应该使用实际的 PKCS7 签名数据进行测试
// 由于没有实际数据,这里使用模拟数据
const mockP7Sign = 'MIIBpAYJKoZIhvcNAQcCoIIBmzCCAZ8CAQExADALBgkqhkiG9w0BBwGgggLuMIIC3wIBADCCAbkGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQM9Q7c7X7X7X7X7X7X7X7X7AgEQgIID+DCCA+SgAwIBAgIUY1234567890abcdefghijklmnopqrstuvwxyzMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFI1234567890abcdefghijklmnopqrstuvwxyzMB8GA1UdIwQYMBaAFJ1234567890abcdefghijklmnopqrstuvwxyzMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDAjANBgkqhkiG9w0BAQsFAAOCAQEAj1234567890abcdefghijklmnopqrstuvwxyz';
const result = crypto.getInfoFromPKCS7(mockP7Sign);
console.log('测试结果:', result);
// 使用用户提供的真实 SM2 PKCS7 签名数据
const sm2P7Base64 = 'MIIDKgYKKoEcz1UGAQQCAqCCAxowggMWAgEBMQ4wDAYIKoEcz1UBgxEFADAMBgoqgRzPVQYBBAIBoIICNzCCAjMwggHWoAMCAQICBgD1tfRoKTAMBggqgRzPVQGDdQUAMEAxCzAJBgNVBAYTAkNOMQ8wDQYDVQQKDAZQQkNDUkMxIDAeBgNVBAMMF1BCQ0NSQyBTTTIgT3BlcmF0aW9uIENBMB4XDTI2MDQwMjA4MDEzOVoXDTM2MDMzMDA4MDEzOVowTTELMAkGA1UEBhMCQ04xDzANBgNVBAoMBlBCQ0NSQzEtMCsGA1UEAwwkOTRmMWY5MzgtZjBiZC00NzYyLTkyOGUtZjY4YTdjY2UxNDFkMFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEu3dU5Vn20VjVL9xGCCRPB/EpATY6HW24+zIZv46Cfv0R2PGM+ZJs/dYarw7qJCnpIbe5T0PKmyyJITNVrVnnMaOBrDCBqTAfBgNVHSMEGDAWgBRUqfVQHMpD+o+YdrPK1JlRJL757zAJBgNVHRMEAjAAME8GA1UdHwRIMEYwRKBCoECkPjA8MQ4wDAYDVQQDDAVjcmw3MTEMMAoGA1UECwwDY3JsMQ8wDQYDVQQKDAZQQkNDUkMxCzAJBgNVBAYTAkNOMAsGA1UdDwQEAwIHgDAdBgNVHQ4EFgQU5bG6U0lYzWtkPJE74M/3HdafKKcwDAYIKoEcz1UBg3UFAANJADBGAiEAuLTE36/Eobcui23bFiPvOU4MOT0O0r9SyyHZ1JuvLwMCIQCejuSk03jyUAkbh1SaPx5n7WlDjI6tx9v9RJ7iw5rlojGBtzCBtAIBATBKMEAxCzAJBgNVBAYTAkNOMQ8wDQYDVQQKDAZQQkNDUkMxIDAeBgNVBAMMF1BCQ0NSQyBTTTIgT3BlcmF0aW9uIENBAgYA9bX0aCkwDAYIKoEcz1UBgxEFADANBgkqgRzPVQGCLQEFAARGMEQCIALTgWMD7io1JHfzInBwzDQpe9bonchuLFSED//JLDtnAiBmEUtr+ssAQIzFG4wY0CAj9QZxhENyCU2UYL1fhaysUA==';
const result = crypto.getInfoFromPKCS7(sm2P7Base64);
console.log('测试结果:');
console.log(' cert:');
console.log(' subject:', result.cert?.subjectDN);
console.log(' issuer:', result.cert?.issuerDN);
console.log(' serialNumber:', result.cert?.serialNumber);
console.log(' notBefore:', result.cert?.notBefore);
console.log(' notAfter:', result.cert?.notAfter);
console.log(' pem:');
console.log(result.cert?.pem);
console.log(' publicKey:');
console.log(result.publicKey);
console.log(' publicKey (hex):');
console.log(result.publicKeyHex);
console.log(' signature (hex):');
console.log(result.signatureHex);
console.log('✓ getInfoFromPKCS7 接口(SM2)测试通过');
} catch (error) {
console.error('✗ getInfoFromPKCS7 接口(SM2)测试失败:', error.message);
console.error(error.stack);
}
// 测试 3: verifyPKCS7 接口(RSA)