我需要在 javascript ( forge ) 中编写一个函数来获取 pfx 证书的缩略图。我创建了一个测试证书(mypfx.pfx)。通过使用 c# X509Certificate2 库,我可以通过传递文件字节数组和密码来查看 X509Certificate2 对象中输入证书的指纹。这是 C# 代码片段:
X509Certificate2 certificate = new X509Certificate2(byteArrayCertData, password);
var thumbprint = certificate.Thumbprint;
//thumbprint is a hex encoding SHA-1 hash
Run Code Online (Sandbox Code Playgroud)
但是当我尝试在 javascript 中做同样的事情时(使用伪造)。我无法获得正确的指纹。这是我的 Javascript 代码:
var certi = fs.readFileSync('c:/mypfx.pfx');
let p12b64 = Buffer(certi).toString('base64');
let p12Der = forge.util.decode64(p12b64);
var outAsn1 = forge.asn1.fromDer(p12Der);
var pkcs12 = forge.pkcs12.pkcs12FromAsn1(outAsn1, false, "1234");
var fp = null;
for (var sci = 0; sci < pkcs12.safeContents.length; ++sci) {
var safeContents = pkcs12.safeContents[sci];
for (var sbi …
Run Code Online (Sandbox Code Playgroud)