import IJavascriptCompileOption from '../../../interface/IJavascriptCompileOption'; import Package from '../../model/Package'; /** * SignUtil */ declare class SignUtil { /** * 获取签名相关的配置内容 * @param param IJavascriptCompileOption参数中获取签名目录等内容 * @returns */ static getProjectSignConfig(param: IJavascriptCompileOption): Promise<{ privatekey: Buffer; certificate: Buffer; }>; /** * 对二进制zipBuffer签名 * * 1. 对`META-INF/CERT`做签名,并生成新的`META-INF/CERT` buffer * 2. "新`META-INF/CERT` + 其它文件"生成新的 zipBuffer * 3. 对“新zipBuffer”,做整体签名 * @param zipBuffer * @param privatekey * @param certificate * @returns */ static signPackage(target: Package, privatekey: Buffer, certificate: Buffer): Promise; /** * 根据ZIP流获取文件实例 * * 1. zipbuffer转换为JSZip对象 * 2. 提取文件列表,并生成每个文件的 buffer * 3. 创建获取文件buffer的函数 * * @param zipBuffer * @returns */ private static createFileListFromZipBuffer; /** * 为 zip buffer 签名,返回签名后的buffer * * @description 根据zipBuffer + zip的文件列表 + 私钥 + 证书,对 zipbuffer 签名 * @param fileBuffer * @param files * @param privatekey * @param certificate */ private static doSign; /** * 解析buffer * @param fileBuffer * @param files */ private static unZipFiles; /** * 解析ZIP 分解为数据块 * @param fileBuffer */ private static parserZip; /** * 从后往前读取buffer,读取尾部buffer * @param buffer * @returns */ private static readEOCD; /** * 读取中部buffer * @param buffer * @param offset * @param size */ private static readCD; /** * 读取前部buffer * @param buffer * @param offset * @param size * @returns */ private static readFH; /** * 数据块hash * @param buffer * @param chunk */ private static processChunk; private static signChunk; private static makeSignChunk; private static makeSignDataBuffer; private static callCryptoSignFunction; /** * 加签名文件 * @param filehashs * @param prikey * @param certpem */ private static signFiles; private static signDigestChunk; private static saveDigestChunk; private static readonly SigMagic; private static saveSignChunk; private static saveChunk; /** * 过滤掉文件夹和META文件 * @param item * @returns */ private static fileFilter; } export default SignUtil;