2022-05-09 14:21:52 +02:00
|
|
|
<div class="tabbed-header">
|
|
|
|
<h1>{{ "encKeySettings" | i18n }}</h1>
|
|
|
|
</div>
|
2023-01-31 11:55:50 +01:00
|
|
|
<bit-callout type="warning">{{ "changeKdfLoggedOutWarning" | i18n }}</bit-callout>
|
2023-03-10 05:54:11 +01:00
|
|
|
<form #form ngNativeValidate autocomplete="off">
|
2018-08-28 04:40:03 +02:00
|
|
|
<div class="row">
|
|
|
|
<div class="col-6">
|
|
|
|
<div class="form-group mb-0">
|
|
|
|
<label for="kdf">{{ "kdfAlgorithm" | i18n }}</label>
|
2019-02-21 22:50:37 +01:00
|
|
|
<a
|
|
|
|
class="ml-auto"
|
2023-02-15 21:24:41 +01:00
|
|
|
href="https://bitwarden.com/help/kdf-algorithms"
|
2019-02-21 22:50:37 +01:00
|
|
|
target="_blank"
|
2024-02-15 22:25:53 +01:00
|
|
|
rel="noreferrer"
|
2019-10-11 16:35:24 +02:00
|
|
|
appA11yTitle="{{ 'learnMore' | i18n }}"
|
|
|
|
>
|
2022-01-27 18:25:58 +01:00
|
|
|
<i class="bwi bwi-question-circle" aria-hidden="true"></i>
|
2018-08-28 04:40:03 +02:00
|
|
|
</a>
|
2023-01-30 15:07:51 +01:00
|
|
|
<select
|
|
|
|
id="kdf"
|
|
|
|
name="Kdf"
|
2024-04-25 20:26:01 +02:00
|
|
|
[(ngModel)]="kdfConfig.kdfType"
|
2023-01-30 15:07:51 +01:00
|
|
|
(ngModelChange)="onChangeKdf($event)"
|
|
|
|
class="form-control mb-3"
|
|
|
|
required
|
|
|
|
>
|
2018-08-28 04:40:03 +02:00
|
|
|
<option *ngFor="let o of kdfOptions" [ngValue]="o.value">{{ o.name }}</option>
|
|
|
|
</select>
|
2024-04-25 20:26:01 +02:00
|
|
|
<ng-container *ngIf="isArgon2(kdfConfig)">
|
2023-01-30 15:07:51 +01:00
|
|
|
<label for="kdfMemory">{{ "kdfMemory" | i18n }}</label>
|
|
|
|
<input
|
|
|
|
id="kdfMemory"
|
|
|
|
type="number"
|
2023-12-05 16:55:12 +01:00
|
|
|
[min]="ARGON2_MEMORY.min"
|
|
|
|
[max]="ARGON2_MEMORY.max"
|
2023-01-30 15:07:51 +01:00
|
|
|
name="Memory"
|
|
|
|
class="form-control mb-3"
|
|
|
|
[(ngModel)]="kdfConfig.memory"
|
|
|
|
required
|
|
|
|
/>
|
|
|
|
</ng-container>
|
2018-08-28 04:40:03 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="col-6">
|
|
|
|
<div class="form-group mb-0">
|
2024-04-25 20:26:01 +02:00
|
|
|
<ng-container *ngIf="isPBKDF2(kdfConfig)">
|
2023-01-30 15:07:51 +01:00
|
|
|
<label for="kdfIterations">{{ "kdfIterations" | i18n }}</label>
|
|
|
|
<a
|
|
|
|
class="ml-auto"
|
2023-02-15 21:24:41 +01:00
|
|
|
href="https://bitwarden.com/help/what-encryption-is-used/#changing-kdf-iterations"
|
2023-01-30 15:07:51 +01:00
|
|
|
target="_blank"
|
2024-02-15 22:25:53 +01:00
|
|
|
rel="noreferrer"
|
2023-01-30 15:07:51 +01:00
|
|
|
appA11yTitle="{{ 'learnMore' | i18n }}"
|
|
|
|
>
|
|
|
|
<i class="bwi bwi-question-circle" aria-hidden="true"></i>
|
|
|
|
</a>
|
|
|
|
<input
|
|
|
|
id="kdfIterations"
|
|
|
|
type="number"
|
2023-12-05 16:55:12 +01:00
|
|
|
[min]="PBKDF2_ITERATIONS.min"
|
|
|
|
[max]="PBKDF2_ITERATIONS.max"
|
2023-01-30 15:07:51 +01:00
|
|
|
name="KdfIterations"
|
|
|
|
class="form-control"
|
|
|
|
[(ngModel)]="kdfConfig.iterations"
|
|
|
|
required
|
|
|
|
/>
|
|
|
|
</ng-container>
|
2024-04-25 20:26:01 +02:00
|
|
|
<ng-container *ngIf="isArgon2(kdfConfig)">
|
2023-01-30 15:07:51 +01:00
|
|
|
<label for="kdfIterations">{{ "kdfIterations" | i18n }}</label>
|
|
|
|
<input
|
|
|
|
id="iterations"
|
|
|
|
type="number"
|
2023-12-05 16:55:12 +01:00
|
|
|
[min]="ARGON2_ITERATIONS.min"
|
|
|
|
[max]="ARGON2_ITERATIONS.max"
|
2023-01-30 15:07:51 +01:00
|
|
|
name="Iterations"
|
|
|
|
class="form-control mb-3"
|
|
|
|
[(ngModel)]="kdfConfig.iterations"
|
|
|
|
required
|
|
|
|
/>
|
|
|
|
<label for="kdfParallelism">{{ "kdfParallelism" | i18n }}</label>
|
|
|
|
<input
|
|
|
|
id="kdfParallelism"
|
|
|
|
type="number"
|
2023-12-05 16:55:12 +01:00
|
|
|
[min]="ARGON2_PARALLELISM.min"
|
|
|
|
[max]="ARGON2_PARALLELISM.max"
|
2023-01-30 15:07:51 +01:00
|
|
|
name="Parallelism"
|
|
|
|
class="form-control"
|
|
|
|
[(ngModel)]="kdfConfig.parallelism"
|
|
|
|
required
|
|
|
|
/>
|
|
|
|
</ng-container>
|
2018-08-28 04:40:03 +02:00
|
|
|
</div>
|
2021-12-17 15:57:11 +01:00
|
|
|
</div>
|
2018-08-28 04:40:03 +02:00
|
|
|
<div class="col-12">
|
2024-04-25 20:26:01 +02:00
|
|
|
<ng-container *ngIf="isPBKDF2(kdfConfig)">
|
2023-01-30 15:07:51 +01:00
|
|
|
<p class="small form-text text-muted">
|
2023-12-05 16:55:12 +01:00
|
|
|
{{ "kdfIterationsDesc" | i18n: (PBKDF2_ITERATIONS.defaultValue | number) }}
|
2023-01-30 15:07:51 +01:00
|
|
|
</p>
|
|
|
|
<bit-callout type="warning">
|
2023-03-21 11:28:15 +01:00
|
|
|
{{ "kdfIterationsWarning" | i18n: (100000 | number) }}
|
2023-01-30 15:07:51 +01:00
|
|
|
</bit-callout>
|
|
|
|
</ng-container>
|
2024-04-25 20:26:01 +02:00
|
|
|
<ng-container *ngIf="isArgon2(kdfConfig)">
|
2023-01-30 15:07:51 +01:00
|
|
|
<p class="small form-text text-muted">{{ "argon2Desc" | i18n }}</p>
|
|
|
|
<bit-callout type="warning"> {{ "argon2Warning" | i18n }}</bit-callout>
|
|
|
|
</ng-container>
|
2018-08-28 04:40:03 +02:00
|
|
|
</div>
|
2021-12-17 15:57:11 +01:00
|
|
|
</div>
|
2023-03-10 05:54:11 +01:00
|
|
|
<button
|
|
|
|
(click)="openConfirmationModal()"
|
|
|
|
type="button"
|
|
|
|
buttonType="primary"
|
|
|
|
bitButton
|
|
|
|
[loading]="form.loading"
|
|
|
|
>
|
2022-06-29 16:27:42 +02:00
|
|
|
{{ "changeKdf" | i18n }}
|
2022-09-27 11:25:53 +02:00
|
|
|
</button>
|
2018-08-28 04:40:03 +02:00
|
|
|
</form>
|