Back | Home
الـ Path الحالي: /home/picotech/domains/instantly.picotech.app/public_html/public/uploads/../uploads/../../../../instantly.picotech.app/homes/../../wa.picotech.app/public_html/node_modules/path-exists/../duplexify/./.././node-wav/.././punycode/../libsignal/src
الملفات الموجودة في هذا الـ Path:
.
..
.eslintrc.json
WhisperTextProtocol.js
base_key_type.js
chain_type.js
crypto.js
curve.js
errors.js
keyhelper.js
numeric_fingerprint.js
protobufs.js
protocol_address.js
queue_job.js
session_builder.js
session_cipher.js
session_record.js
مشاهدة ملف: keyhelper.js
// vim: ts=4:sw=4:expandtab
const curve = require('./curve');
const nodeCrypto = require('crypto');
function isNonNegativeInteger(n) {
return (typeof n === 'number' && (n % 1) === 0 && n >= 0);
}
exports.generateIdentityKeyPair = curve.generateKeyPair;
exports.generateRegistrationId = function() {
var registrationId = Uint16Array.from(nodeCrypto.randomBytes(2))[0];
return registrationId & 0x3fff;
};
exports.generateSignedPreKey = function(identityKeyPair, signedKeyId) {
if (!(identityKeyPair.privKey instanceof Buffer) ||
identityKeyPair.privKey.byteLength != 32 ||
!(identityKeyPair.pubKey instanceof Buffer) ||
identityKeyPair.pubKey.byteLength != 33) {
throw new TypeError('Invalid argument for identityKeyPair');
}
if (!isNonNegativeInteger(signedKeyId)) {
throw new TypeError('Invalid argument for signedKeyId: ' + signedKeyId);
}
const keyPair = curve.generateKeyPair();
const sig = curve.calculateSignature(identityKeyPair.privKey, keyPair.pubKey);
return {
keyId: signedKeyId,
keyPair: keyPair,
signature: sig
};
};
exports.generatePreKey = function(keyId) {
if (!isNonNegativeInteger(keyId)) {
throw new TypeError('Invalid argument for keyId: ' + keyId);
}
const keyPair = curve.generateKeyPair();
return {
keyId,
keyPair
};
};