From b46258d014a1c9291e7be4b70fb290f9b4337334 Mon Sep 17 00:00:00 2001 From: cheney Date: Sat, 4 Apr 2026 20:40:52 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9B=86=E6=88=90=E5=88=B0=20cli?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kit/src/index.js | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/kit/src/index.js b/kit/src/index.js index 36c66a9..bfea0f6 100644 --- a/kit/src/index.js +++ b/kit/src/index.js @@ -331,6 +331,39 @@ parser.addCmdLine("sm4de3 ", "sm4 解密,密钥通过 sm3 制备;" $logger.info( out ); }); + +parser.addCmdLine("pkcs7verify ", "验证 pkCS7 签名;", function (cli) { + const {verifyPKCS7} = require("./crypto"); + let sign = cli.getParamValue("sign") + let data = cli.getParamValue("data") + let out = verifyPKCS7( sign, data ) + if ( out ) { + $logger.info("验证通过") + } else { + $logger.error("验证不通过") + } +}); + +parser.addCmdLine("pkcs7info ", "从 pkCS7 签名中提取信息(证书、公钥、签名);", function (cli) { + const {getInfoFromPKCS7} = require("./crypto"); + let sign = cli.getParamValue("sign") + let out = getInfoFromPKCS7( sign ) + $logger.info(' cert:'); + $logger.info(' subject:', result.cert?.subjectDN); + $logger.info(' issuer:', result.cert?.issuerDN); + $logger.info(' serialNumber:', result.cert?.serialNumber); + $logger.info(' notBefore:', result.cert?.notBefore); + $logger.info(' notAfter:', result.cert?.notAfter); + $logger.info(' pem:'); + $logger.info(result.cert?.pem); + $logger.info(' publicKey:'); + $logger.info(result.publicKey); + $logger.info(' publicKey (hex):'); + $logger.info(result.publicKeyHex); + $logger.info(' signature (hex):'); + $logger.info(result.signatureHex); +}); + // parser.addCmdLine("base64 <-en/-de> ", "base64 编解码", function (cli) { parser.addCmdLine("base64 [-en] [-de] [-hex] ", "base64 编解码;", function (cli) { let data = cli.getParamValue("data")