Invalidate Kc, too
diff --git a/sim-applet/src/org/osmocom/IMSIPseudo/IMSIPseudo.java b/sim-applet/src/org/osmocom/IMSIPseudo/IMSIPseudo.java
index 79e8edb..919b5fd 100755
--- a/sim-applet/src/org/osmocom/IMSIPseudo/IMSIPseudo.java
+++ b/sim-applet/src/org/osmocom/IMSIPseudo/IMSIPseudo.java
@@ -212,6 +212,8 @@
showMsg(changed);
invalidateTMSI((short)SIMView.FID_EF_LOCI);
invalidateTMSI((short)SIMView.FID_EF_LOCIGPRS);
+ invalidateKc((short)SIMView.FID_EF_KC);
+ invalidateKc((short)SIMView.FID_EF_KCGPRS);
refreshIMSI();
} catch (Exception e) {
showError((short)42);
@@ -244,6 +246,14 @@
gsmFile.updateBinary((short)0, TMSI, (short)0, (short)TMSI.length);
}
+ private void invalidateKc(short fid)
+ {
+ byte[] Kc = {(byte)0x07}; /* proper N/A value, see 3GPP TS 31.102, chapter 4.4.3.1 */
+ gsmFile.select((short) SIMView.FID_DF_GSM);
+ gsmFile.select(fid);
+ gsmFile.updateBinary((short)0, Kc, (short)0, (short)Kc.length);
+ }
+
/*
* - command qualifiers for REFRESH,
* ETSI TS 101 267 / 3GPP TS 11.14 chapter 12.6 "Command details":