UNPKG

@sentclose/sentc-nodejs

Version:

End-to-end encryption sdk

61 lines (60 loc) 2.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SymKey = exports.getNonRegisteredKeyByPrivateKey = exports.getNonRegisteredKey = void 0; const sentc_node_js_1 = require("@sentclose/sentc_node_js"); function getNonRegisteredKey(master_key, key, master_key_id, sign_key) { const key_out = (0, sentc_node_js_1.doneFetchSymKey)(master_key, key, true); return new SymKey("", "", key_out, "non_register", master_key_id, sign_key); } exports.getNonRegisteredKey = getNonRegisteredKey; function getNonRegisteredKeyByPrivateKey(private_key, key, master_key_id, sign_key) { const key_out = (0, sentc_node_js_1.doneFetchSymKeyByPrivateKey)(private_key, key, true); return new SymKey("", "", key_out, "non_register", master_key_id, sign_key); } exports.getNonRegisteredKeyByPrivateKey = getNonRegisteredKeyByPrivateKey; class SymKey { constructor(base_url, app_token, key, key_id, master_key_id, //this is important to save it to decrypt this key later sign_key) { this.base_url = base_url; this.app_token = app_token; this.key = key; this.key_id = key_id; this.master_key_id = master_key_id; this.sign_key = sign_key; } encryptRaw(data, sign = false) { let sign_key; if (sign) { sign_key = this.sign_key; } const out = (0, sentc_node_js_1.encryptRawSymmetric)(this.key, data, sign_key); return { head: out.head, data: out.data }; } decryptRaw(head, encrypted_data, verify_key) { return (0, sentc_node_js_1.decryptRawSymmetric)(this.key, encrypted_data, head, verify_key); } encrypt(data, sign = false) { let sign_key; if (sign) { sign_key = this.sign_key; } return (0, sentc_node_js_1.encryptSymmetric)(this.key, data, sign_key); } decrypt(data, verify_key) { return (0, sentc_node_js_1.decryptSymmetric)(this.key, data, verify_key); } encryptString(data, sign = false) { let sign_key; if (sign) { sign_key = this.sign_key; } return (0, sentc_node_js_1.encryptStringSymmetric)(this.key, data, sign_key); } decryptString(data, verify_key) { return (0, sentc_node_js_1.decryptStringSymmetric)(this.key, data, verify_key); } } exports.SymKey = SymKey;