From c280acc9b14e0c702d3c9deec54e15b6c6535f7a Mon Sep 17 00:00:00 2001 From: Blank0120 <17322619133@163.com> Date: Sat, 12 Jul 2025 15:19:00 +0800 Subject: [PATCH] fix(certificate): fix wrong r,s value in ecdsa cert --- src/core/operations/ParseX509Certificate.mjs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/core/operations/ParseX509Certificate.mjs b/src/core/operations/ParseX509Certificate.mjs index cdd1e9c7c1..47a4e4197f 100644 --- a/src/core/operations/ParseX509Certificate.mjs +++ b/src/core/operations/ParseX509Certificate.mjs @@ -167,8 +167,9 @@ class ParseX509Certificate extends Operation { } if (breakoutSig) { // DSA or ECDSA - sigStr = ` r: ${formatByteStr(r.ASN1HEX.getV(sig, 4), 16, 18)} - s: ${formatByteStr(r.ASN1HEX.getV(sig, 48), 16, 18)}`; + const signatureRS = r.KJUR.crypto.ECDSA.parseSigHexInHexRS(sig); + sigStr = ` r: ${formatByteStr(signatureRS.r, 16, 18)} + s: ${formatByteStr(signatureRS.s, 16, 18)}`; } else { // RSA or unknown sigStr = ` Signature: ${formatByteStr(sig, 16, 18)}`; }