mirror of https://github.com/keeweb/keeweb
option to disable entropy-based checks
parent
01fac1f0ca
commit
953f6dc61f
|
@ -38,6 +38,7 @@ const DefaultAppSettings = {
|
|||
enableUsb: true, // enable interaction with USB devices
|
||||
fieldLabelDblClickAutoType: false, // trigger auto-type by doubleclicking field label
|
||||
auditPasswords: true, // enable password audit
|
||||
auditPasswordEntropy: true, // show warnings for weak passwords
|
||||
excludePinsFromAudit: true, // exclude PIN codes from audit
|
||||
checkPasswordsOnHIBP: false, // check passwords on Have I Been Pwned
|
||||
auditPasswordAge: 0,
|
||||
|
|
|
@ -450,6 +450,7 @@
|
|||
"setGenFieldLabelDblClickAutoType": "Auto-type on double-clicking field labels",
|
||||
"setGenAudit": "Audit",
|
||||
"setGenAuditPasswords": "Show warnings about password strength",
|
||||
"setGenAuditPasswordEntropy": "Check password length and randomness",
|
||||
"setGenExcludePinsFromAudit": "Never check short numeric PIN codes, such as 123456",
|
||||
"setGenCheckPasswordsOnHIBP": "Check passwords using an online service {}",
|
||||
"setGenHelpHIBP": "KeeWeb can check if your passwords have been previously exposed in a data breach using an online service. Your password cannot be recovered based on data sent online, however the number of passwords checked this way may be exposed. More about your privacy when using this service can be found {}. If this option is enabled, KeeWeb will automatically check your passwords there.",
|
||||
|
|
|
@ -65,12 +65,13 @@ class DetailsIssuesView extends View {
|
|||
this.passwordIssue = null;
|
||||
return;
|
||||
}
|
||||
const auditEntropy = AppSettingsModel.auditPasswordEntropy;
|
||||
const strength = passwordStrength(password);
|
||||
if (AppSettingsModel.excludePinsFromAudit && strength.onlyDigits && strength.length <= 6) {
|
||||
this.passwordIssue = null;
|
||||
} else if (strength.level < PasswordStrengthLevel.Low) {
|
||||
} else if (auditEntropy && strength.level < PasswordStrengthLevel.Low) {
|
||||
this.passwordIssue = 'poor';
|
||||
} else if (strength.level < PasswordStrengthLevel.Good) {
|
||||
} else if (auditEntropy && strength.level < PasswordStrengthLevel.Good) {
|
||||
this.passwordIssue = 'weak';
|
||||
} else if (AppSettingsModel.auditPasswordAge && this.isOld()) {
|
||||
this.passwordIssue = 'old';
|
||||
|
|
|
@ -37,6 +37,7 @@ class SettingsGeneralView extends View {
|
|||
'change .settings__general-remember-key-files': 'changeRememberKeyFiles',
|
||||
'change .settings__general-minimize': 'changeMinimize',
|
||||
'change .settings__general-audit-passwords': 'changeAuditPasswords',
|
||||
'change .settings__general-audit-password-entropy': 'changeAuditPasswordEntropy',
|
||||
'change .settings__general-exclude-pins-from-audit': 'changeExcludePinsFromAudit',
|
||||
'change .settings__general-check-passwords-on-hibp': 'changeCheckPasswordsOnHIBP',
|
||||
'click .settings__general-toggle-help-hibp': 'clickToggleHelpHIBP',
|
||||
|
@ -103,6 +104,7 @@ class SettingsGeneralView extends View {
|
|||
canDetectOsSleep: Launcher && Launcher.canDetectOsSleep(),
|
||||
canAutoType: AutoType.enabled,
|
||||
auditPasswords: AppSettingsModel.auditPasswords,
|
||||
auditPasswordEntropy: AppSettingsModel.auditPasswordEntropy,
|
||||
excludePinsFromAudit: AppSettingsModel.excludePinsFromAudit,
|
||||
checkPasswordsOnHIBP: AppSettingsModel.checkPasswordsOnHIBP,
|
||||
auditPasswordAge: AppSettingsModel.auditPasswordAge,
|
||||
|
@ -336,6 +338,11 @@ class SettingsGeneralView extends View {
|
|||
AppSettingsModel.auditPasswords = auditPasswords;
|
||||
}
|
||||
|
||||
changeAuditPasswordEntropy(e) {
|
||||
const auditPasswordEntropy = e.target.checked || false;
|
||||
AppSettingsModel.auditPasswordEntropy = auditPasswordEntropy;
|
||||
}
|
||||
|
||||
changeExcludePinsFromAudit(e) {
|
||||
const excludePinsFromAudit = e.target.checked || false;
|
||||
AppSettingsModel.excludePinsFromAudit = excludePinsFromAudit;
|
||||
|
|
|
@ -184,6 +184,12 @@
|
|||
<label for="settings__general-audit-passwords">{{res 'setGenAuditPasswords'}}</label>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="checkbox" class="settings__input input-base settings__general-audit-password-entropy"
|
||||
id="settings__general-audit-password-entropy" {{#if auditPasswordEntropy}}checked{{/if}} />
|
||||
<label for="settings__general-audit-password-entropy">{{res 'setGenAuditPasswordEntropy'}}</label>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="checkbox" class="settings__input input-base settings__general-exclude-pins-from-audit"
|
||||
id="settings__general-exclude-pins-from-audit" {{#if excludePinsFromAudit}}checked{{/if}} />
|
||||
|
|
Loading…
Reference in New Issue