hasEncKey checks

This commit is contained in:
Kyle Spearrin 2018-07-12 17:07:06 -04:00
parent 5fac067713
commit cc6f732a14
3 changed files with 7 additions and 2 deletions

View File

@ -17,6 +17,7 @@ export abstract class CryptoService {
getOrgKeys: () => Promise<Map<string, SymmetricCryptoKey>>;
getOrgKey: (orgId: string) => Promise<SymmetricCryptoKey>;
hasKey: () => Promise<boolean>;
hasEncKey: () => Promise<boolean>;
clearKey: () => Promise<any>;
clearKeyHash: () => Promise<any>;
clearEncKey: (memoryOnly?: boolean) => Promise<any>;

View File

@ -40,8 +40,7 @@ export class AttachmentsComponent implements OnInit {
this.cipherDomain = await this.loadCipher();
this.cipher = await this.cipherDomain.decrypt();
const key = await this.cryptoService.getEncKey();
this.hasUpdatedKey = key != null;
this.hasUpdatedKey = await this.cryptoService.hasEncKey();
const isPremium = this.tokenService.getPremium();
this.canAccessAttachments = isPremium || this.cipher.organizationId != null;

View File

@ -211,6 +211,11 @@ export class CryptoService implements CryptoServiceAbstraction {
return (await this.getKey()) != null;
}
async hasEncKey(): Promise<boolean> {
const encKey = await this.storageService.get<string>(Keys.encKey);
return encKey != null;
}
clearKey(): Promise<any> {
this.key = this.legacyEtmKey = null;
return this.secureStorageService.remove(Keys.key);