@hap-toolkit/packager
Version:
@hap-toolkit/packager
3 lines (2 loc) • 2.21 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.builtinSignFolder=void 0,exports.createAndSignBuffer=createAndSignBuffer,exports.signZipBufferForPackage=signZipBufferForPackage;var _path=_interopRequireDefault(require("path")),_sharedUtils=require("@hap-toolkit/shared-utils"),_constant=require("../common/constant"),_ziputil=require("../common/ziputil"),_index=require("./algorithm/index");function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}const builtinSignFolder=_path.default.join(__dirname,"pem");function fileFilter(t){const e=t.path;return!e.endsWith("/")&&e!==_constant.DIGEST_ZIP_PATH}async function createAndSignBuffer(t,e,i){const n=t.resourceList,a={};n.forEach((t=>{const e=t.fileBuildPath;a[e]=t.fileContentDigest.toString("hex")}));const r=[{path:_constant.DIGEST_HASH_JSON,content:JSON.stringify({algorithm:"SHA-256",digests:a})}],s=await(0,_ziputil.createZipBufferFromFileList)(r),o=[],c={name:_constant.DIGEST_HASH_JSON,hash:(0,_sharedUtils.calcDataDigest)(s)},l=await(0,_index.doSign)(s,[c],e,i);o.push({path:_constant.DIGEST_ZIP_PATH,content:l}),n.forEach((t=>{o.push({path:t.fileBuildPath,content:t.fileContentBuffer})}));const u=[];u.push({name:_constant.DIGEST_HASH_JSON,hash:(0,_sharedUtils.calcDataDigest)(s)}),o.filter(fileFilter).map((t=>{u.push({name:t.path,hash:(0,_sharedUtils.calcDataDigest)(t.content)})}));const _=await(0,_ziputil.createZipBufferFromFileList)(o,t.comment);return await(0,_index.doSign)(_,u,e,i)}async function signZipBufferForPackage(t,e,i){const n=await(0,_ziputil.createFileListFromZipBuffer)(t),a=[],r=[],s=n.getFileBuffer(_constant.DIGEST_ZIP_PATH);if(s){const t={name:_constant.DIGEST_HASH_JSON,hash:(0,_sharedUtils.calcDataDigest)(s)},n=await(0,_index.doSign)(s,[t],e,i);r.push({path:_constant.DIGEST_ZIP_PATH,content:n}),a.push({name:_constant.DIGEST_ZIP_PATH,hash:(0,_sharedUtils.calcDataDigest)(n)})}n.fileList.filter(fileFilter).map((t=>{r.push(t),a.push({name:t.path,hash:(0,_sharedUtils.calcDataDigest)(t.content)})}));const o=await(0,_ziputil.createZipBufferFromFileList)(r,n.comment);return await(0,_index.doSign)(o,a,e,i)}exports.builtinSignFolder=builtinSignFolder;
//# sourceMappingURL=index.js.map