matrix-react-sdk
Version:
SDK for matrix.org using React
33 lines (30 loc) • 3.39 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.isDeviceVerified = void 0;
/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE files in the repository root for full details.
*/
/**
* Check if one of our own devices is verified via cross signing
*
* @param client - reference to the MatrixClient
* @param deviceId - ID of the device to be checked
*
* @returns `null` if the device is unknown or has not published encryption keys; otherwise a boolean
* indicating whether the device has been cross-signed by a cross-signing key we trust.
*/
const isDeviceVerified = async (client, deviceId) => {
const trustLevel = await client.getCrypto()?.getDeviceVerificationStatus(client.getSafeUserId(), deviceId);
if (!trustLevel) {
// either no crypto, or an unknown/no-e2e device
return null;
}
return trustLevel.crossSigningVerified;
};
exports.isDeviceVerified = isDeviceVerified;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpc0RldmljZVZlcmlmaWVkIiwiY2xpZW50IiwiZGV2aWNlSWQiLCJ0cnVzdExldmVsIiwiZ2V0Q3J5cHRvIiwiZ2V0RGV2aWNlVmVyaWZpY2F0aW9uU3RhdHVzIiwiZ2V0U2FmZVVzZXJJZCIsImNyb3NzU2lnbmluZ1ZlcmlmaWVkIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9kZXZpY2UvaXNEZXZpY2VWZXJpZmllZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgeyBNYXRyaXhDbGllbnQgfSBmcm9tIFwibWF0cml4LWpzLXNkay9zcmMvbWF0cml4XCI7XG5cbi8qKlxuICogQ2hlY2sgaWYgb25lIG9mIG91ciBvd24gZGV2aWNlcyBpcyB2ZXJpZmllZCB2aWEgY3Jvc3Mgc2lnbmluZ1xuICpcbiAqIEBwYXJhbSBjbGllbnQgLSByZWZlcmVuY2UgdG8gdGhlIE1hdHJpeENsaWVudFxuICogQHBhcmFtIGRldmljZUlkIC0gSUQgb2YgdGhlIGRldmljZSB0byBiZSBjaGVja2VkXG4gKlxuICogQHJldHVybnMgYG51bGxgIGlmIHRoZSBkZXZpY2UgaXMgdW5rbm93biBvciBoYXMgbm90IHB1Ymxpc2hlZCBlbmNyeXB0aW9uIGtleXM7IG90aGVyd2lzZSBhIGJvb2xlYW5cbiAqICAgIGluZGljYXRpbmcgd2hldGhlciB0aGUgZGV2aWNlIGhhcyBiZWVuIGNyb3NzLXNpZ25lZCBieSBhIGNyb3NzLXNpZ25pbmcga2V5IHdlIHRydXN0LlxuICovXG5leHBvcnQgY29uc3QgaXNEZXZpY2VWZXJpZmllZCA9IGFzeW5jIChjbGllbnQ6IE1hdHJpeENsaWVudCwgZGV2aWNlSWQ6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbiB8IG51bGw+ID0+IHtcbiAgICBjb25zdCB0cnVzdExldmVsID0gYXdhaXQgY2xpZW50LmdldENyeXB0bygpPy5nZXREZXZpY2VWZXJpZmljYXRpb25TdGF0dXMoY2xpZW50LmdldFNhZmVVc2VySWQoKSwgZGV2aWNlSWQpO1xuICAgIGlmICghdHJ1c3RMZXZlbCkge1xuICAgICAgICAvLyBlaXRoZXIgbm8gY3J5cHRvLCBvciBhbiB1bmtub3duL25vLWUyZSBkZXZpY2VcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiB0cnVzdExldmVsLmNyb3NzU2lnbmluZ1ZlcmlmaWVkO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sTUFBTUEsZ0JBQWdCLEdBQUcsTUFBQUEsQ0FBT0MsTUFBb0IsRUFBRUMsUUFBZ0IsS0FBOEI7RUFDdkcsTUFBTUMsVUFBVSxHQUFHLE1BQU1GLE1BQU0sQ0FBQ0csU0FBUyxDQUFDLENBQUMsRUFBRUMsMkJBQTJCLENBQUNKLE1BQU0sQ0FBQ0ssYUFBYSxDQUFDLENBQUMsRUFBRUosUUFBUSxDQUFDO0VBQzFHLElBQUksQ0FBQ0MsVUFBVSxFQUFFO0lBQ2I7SUFDQSxPQUFPLElBQUk7RUFDZjtFQUNBLE9BQU9BLFVBQVUsQ0FBQ0ksb0JBQW9CO0FBQzFDLENBQUM7QUFBQ0MsT0FBQSxDQUFBUixnQkFBQSxHQUFBQSxnQkFBQSIsImlnbm9yZUxpc3QiOltdfQ==