微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有办法找出无效“失败 - CSR 的签名无效”背后的原因?

如何解决有没有办法找出无效“失败 - CSR 的签名无效”背后的原因?

通过使用 require('node-forge') & require('pkcs11js') 创建了一个 CSR,我使用了存储在 HSM 中的私有签名密钥,同时通过“https://redkestrel.co.uk/”对 CSR 进行解码产品/解码器/”,出现错误

失败 - CSR 的签名无效。

附上结果 CSR 和代码片段。

public async Task<IActionResult> logout()
{
        var cookiesTobedeleted = Request.Cookies.Keys;
        foreach (string cookie in cookiesTobedeleted)
        {
            Response.Cookies.Delete(cookie);
        }
        await HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme);
}

以下是生成的示例 CSR

var csr = forge.pki.createCertificationRequest();

csr.publicKey = forge.pki.publicKeyFromPem(pempublicKey);
csr.setSubject([{
name: ‘commonName’,value: ‘example.org’
},{
name: ‘countryName’,value: ‘US’
},{
shortName: ‘ST’,value: ‘Virginia’
},{
name: ‘localityName’,value: ‘Blacksburg’
},{
name: ‘organizationName’,value: ‘Test’
},{
shortName: ‘OU’,value: ‘Test’
}]);
csr.signatureOid = csr.siginfo.algorithmOid = ‘1.2.840.113549.1.1.5’;
csr.certificationRequestInfo = forge.pki.getCertificationRequestInfo(csr);
var toBeEncrypted = forge.asn1.toDer(csr.certificationRequestInfo);
pkcs11.C_SignInit(session,{ mechanism: pkcs11js.CKM_SHA1_RSA_PKCS },keys.privateKey);
pkcs11.C_SignUpdate(session,Buffer.from(toBeEncrypted.getBytes()));
var signature = pkcs11.C_SignFinal(session,Buffer.from(new ArrayBuffer(256)));
csr.signature = signature.toString(‘binary’);
var pemCsr = forge.pki.certificationRequestToPem(csr);
console.log(‘CSR created: \n %s’,pemCsr);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。