Limit the accepted length of SIM PIN to 8 digits

Adding the upper limit results in the correct error message being
displayed to the end user - "Type a PIN that is 4 to 8 numbers."

Limiting the SIM PIN length to between 4-8 digits is part of the
GSM SIM security requirements.  See GSM 02.17 version 5.0.1,
Section 5.6 PIN Management.

Bug: 31331481
Test: 1. Insert a SIM card with SIM PIN enabled
      2. Start the device
      3. Enter a SIM PIN with a length > 8
Change-Id: Ie5fba1c79074910b0bfd54df51e4412bbf32f5fe
This commit is contained in:
Katsuyuki Hirayama
2015-12-11 11:44:33 +09:00
committed by Ed Savage-Jones
parent 6fe49fb663
commit 4c8e2ca6d4

View File

@@ -134,7 +134,9 @@ public class KeyguardSimPinViewController
protected void verifyPasswordAndUnlock() {
String entry = mPasswordEntry.getText();
if (entry.length() < 4) {
// A SIM PIN is 4 to 8 decimal digits according to
// GSM 02.17 version 5.0.1, Section 5.6 PIN Management
if ((entry.length() < 4) || (entry.length() > 8)) {
// otherwise, display a message to the user, and don't submit.
mMessageAreaController.setMessage(
com.android.systemui.R.string.kg_invalid_sim_pin_hint);