@sentclose/sentc-nodejs
Version:
End-to-end encryption sdk
61 lines (60 loc) • 2.4 kB
JavaScript
"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;