mirror of https://github.com/vector-im/riot-web
				
				
				
			Merge pull request #6263 from matrix-org/t3chguy/ts/4
						commit
						29904a7ffc
					
				| 
						 | 
				
			
			@ -348,7 +348,7 @@ export default abstract class BasePlatform {
 | 
			
		|||
    /**
 | 
			
		||||
     * Create and store a pickle key for encrypting libolm objects.
 | 
			
		||||
     * @param {string} userId the user ID for the user that the pickle key is for.
 | 
			
		||||
     * @param {string} userId the device ID that the pickle key is for.
 | 
			
		||||
     * @param {string} deviceId the device ID that the pickle key is for.
 | 
			
		||||
     * @returns {string|null} the pickle key, or null if the platform does not
 | 
			
		||||
     *     support storing pickle keys.
 | 
			
		||||
     */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -20,7 +20,7 @@ limitations under the License.
 | 
			
		|||
import { createClient } from 'matrix-js-sdk/src/matrix';
 | 
			
		||||
import { InvalidStoreError } from "matrix-js-sdk/src/errors";
 | 
			
		||||
import { MatrixClient } from "matrix-js-sdk/src/client";
 | 
			
		||||
import { decryptAES, encryptAES } from "matrix-js-sdk/src/crypto/aes";
 | 
			
		||||
import { decryptAES, encryptAES, IEncryptedPayload } from "matrix-js-sdk/src/crypto/aes";
 | 
			
		||||
 | 
			
		||||
import { IMatrixClientCreds, MatrixClientPeg } from './MatrixClientPeg';
 | 
			
		||||
import SecurityCustomisations from "./customisations/Security";
 | 
			
		||||
| 
						 | 
				
			
			@ -303,7 +303,7 @@ export interface IStoredSession {
 | 
			
		|||
    hsUrl: string;
 | 
			
		||||
    isUrl: string;
 | 
			
		||||
    hasAccessToken: boolean;
 | 
			
		||||
    accessToken: string | object;
 | 
			
		||||
    accessToken: string | IEncryptedPayload;
 | 
			
		||||
    userId: string;
 | 
			
		||||
    deviceId: string;
 | 
			
		||||
    isGuest: boolean;
 | 
			
		||||
| 
						 | 
				
			
			@ -350,7 +350,7 @@ export async function getStoredSessionVars(): Promise<IStoredSession> {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
// The pickle key is a string of unspecified length and format.  For AES, we
 | 
			
		||||
// need a 256-bit Uint8Array.  So we HKDF the pickle key to generate the AES
 | 
			
		||||
// need a 256-bit Uint8Array. So we HKDF the pickle key to generate the AES
 | 
			
		||||
// key.  The AES key should be zeroed after it is used.
 | 
			
		||||
async function pickleKeyToAesKey(pickleKey: string): Promise<Uint8Array> {
 | 
			
		||||
    const pickleKeyBuffer = new Uint8Array(pickleKey.length);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,6 +16,8 @@ limitations under the License.
 | 
			
		|||
*/
 | 
			
		||||
 | 
			
		||||
import React from 'react';
 | 
			
		||||
import { CrossSigningKeys } from 'matrix-js-sdk/src/client';
 | 
			
		||||
 | 
			
		||||
import { MatrixClientPeg } from '../../../../MatrixClientPeg';
 | 
			
		||||
import { _t } from '../../../../languageHandler';
 | 
			
		||||
import Modal from '../../../../Modal';
 | 
			
		||||
| 
						 | 
				
			
			@ -71,7 +73,7 @@ export default class CreateCrossSigningDialog extends React.PureComponent<IProps
 | 
			
		|||
 | 
			
		||||
    private async queryKeyUploadAuth(): Promise<void> {
 | 
			
		||||
        try {
 | 
			
		||||
            await MatrixClientPeg.get().uploadDeviceSigningKeys(null, {});
 | 
			
		||||
            await MatrixClientPeg.get().uploadDeviceSigningKeys(null, {} as CrossSigningKeys);
 | 
			
		||||
            // We should never get here: the server should always require
 | 
			
		||||
            // UI auth to upload device signing keys. If we do, we upload
 | 
			
		||||
            // no keys which would be a no-op.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,11 +16,12 @@ limitations under the License.
 | 
			
		|||
 | 
			
		||||
import EventEmitter from 'events';
 | 
			
		||||
import { VerificationRequest } from "matrix-js-sdk/src/crypto/verification/request/VerificationRequest";
 | 
			
		||||
import { IKeyBackupVersion } from "matrix-js-sdk/src/crypto/keybackup";
 | 
			
		||||
import { IKeyBackupInfo } from "matrix-js-sdk/src/crypto/keybackup";
 | 
			
		||||
import { ISecretStorageKeyInfo } from "matrix-js-sdk/src/matrix";
 | 
			
		||||
import { PHASE_DONE as VERIF_PHASE_DONE } from "matrix-js-sdk/src/crypto/verification/request/VerificationRequest";
 | 
			
		||||
 | 
			
		||||
import { MatrixClientPeg } from '../MatrixClientPeg';
 | 
			
		||||
import { accessSecretStorage, AccessCancelledError } from '../SecurityManager';
 | 
			
		||||
import { PHASE_DONE as VERIF_PHASE_DONE } from "matrix-js-sdk/src/crypto/verification/request/VerificationRequest";
 | 
			
		||||
 | 
			
		||||
export enum Phase {
 | 
			
		||||
    Loading = 0,
 | 
			
		||||
| 
						 | 
				
			
			@ -35,7 +36,7 @@ export class SetupEncryptionStore extends EventEmitter {
 | 
			
		|||
    private started: boolean;
 | 
			
		||||
    public phase: Phase;
 | 
			
		||||
    public verificationRequest: VerificationRequest;
 | 
			
		||||
    public backupInfo: IKeyBackupVersion;
 | 
			
		||||
    public backupInfo: IKeyBackupInfo;
 | 
			
		||||
    public keyId: string;
 | 
			
		||||
    public keyInfo: ISecretStorageKeyInfo;
 | 
			
		||||
    public hasDevicesToVerifyAgainst: boolean;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue