kit.program/kit/test/debug_p7.js
2026-04-04 08:24:27 +08:00

61 lines
2.6 KiB
JavaScript

const forge = require('node-forge');
const mockP7Sign = `-----BEGIN PKCS7-----
MIIDNwYJKoZIhvcNAQcCoIIDKDCCAyQCAQExDzANBglghkgBZQMEAgEFADA8Bgkq
hkiG9w0BBwGgLwQtVGhpcyBpcyB0aGUgdGVzdCBjb250ZW50IGZvciBQS0NTNyBz
aWduYXR1cmUuoIIB5jCCAeIwggFLoAMCAQICAQEwDQYJKoZIhvcNAQELBQAwNzEZ
MBcGA1UEAxMQdGVzdC5leGFtcGxlLmNvbTEaMBgGA1UEChMRVGVzdCBPcmdhbml6
YXRpb24wHhcNMjYwNDA0MDAxMDIyWhcNMjcwNDA0MDAxMDIyWjA3MRkwFwYDVQQD
ExB0ZXN0LmV4YW1wbGUuY29tMRowGAYDVQQKExFUZXN0IE9yZ2FuaXphdGlvbjCB
nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA1e+05xb8T3Lo2v9MZQen5HYffpnc
yY9mnT/ygvfxZNM9TeYkq4fACiuS99FONnlHFQdlXEPJluIk1NBFUoLpehAbzOSY
Fu0WEjBOVJIg9FIWm7TUojU8yvPsfPGFYTEGEOGAse8AfHw4pl+w5SvxQUF8f2jB
XsRY0MrDyb07xC8CAwEAATANBgkqhkiG9w0BAQsFAAOBgQAOEttx/p3xosIm/8sM
kIaxR2c/fbYoMbBsX+geaiRu+xNOItbtQpGOhW6Ql981c3EwIjyd34KavplofZIr
Slj4jHQFySZaJkegHY+LCAQz9GEg2TMke3MsPJ7nSZS7MUqB2AQt1tLuiXUuRh3V
jF4yiqi6lGVmvPJf+y1GXk47KjGB5TCB4gIBATA8MDcxGTAXBgNVBAMTEHRlc3Qu
ZXhhbXBsZS5jb20xGjAYBgNVBAoTEVRlc3QgT3JnYW5pemF0aW9uAgEBMA0GCWCG
SAFlAwQCAQUAMA0GCSqGSIb3DQEBAQUABIGAMxSC81vzjSiZcJTcSicgCG9879mu
p/bikqdHZPyF8UgABjikXXoVJ9IClFRd5/3wRf8ez+hwnxKR8j1vAsDI7U6dXJtr
wp0aO7Ua6ecKhI5V0F8nUg5CjEK9FR8vNg0Il8U5AXDuan0iYKvguhWkiuJlvQlV
X9ncPP4VRERPw8U=
-----END PKCS7-----`;
const p7 = forge.pkcs7.messageFromPem(mockP7Sign);
console.log('=== p7.rawCapture ===');
console.log('rawCapture keys:', Object.keys(p7.rawCapture || {}));
if (p7.rawCapture) {
for (const key of Object.keys(p7.rawCapture)) {
const value = p7.rawCapture[key];
if (Buffer.isBuffer(value) || value instanceof Uint8Array) {
console.log(`${key}: Buffer/Uint8Array, length=${value.length}`);
console.log(`${key} hex:`, Buffer.from(value).toString('hex').substring(0, 100) + '...');
} else if (typeof value === 'string') {
console.log(`${key}: string, length=${value.length}`);
console.log(`${key} content:`, value.substring(0, 100) + '...');
} else if (value && typeof value === 'object') {
console.log(`${key}: object, keys=${Object.keys(value).join(',')}`);
} else {
console.log(`${key}:`, value);
}
}
}
console.log('\n=== p7.signerInfos ===');
console.log('signerInfos:', p7.signerInfos);
console.log('\n=== p7.signers ===');
console.log('signers:', p7.signers);
console.log('\n=== p7.certificates ===');
if (p7.certificates && p7.certificates.length > 0) {
const cert = p7.certificates[0];
console.log('cert publicKey:', cert.publicKey ? 'exists' : 'null');
if (cert.publicKey) {
console.log('publicKey type:', typeof cert.publicKey);
console.log('publicKey keys:', Object.keys(cert.publicKey));
}
}