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")