I'm having the below crash when initializing the Keychain on Android. I suspect the stored KeyStore file is corrupt. The problem is that there is no clean way to clear the Keystore in such a case and the exception isn't handled. I would probably handle it like the FileNotFoundException on line 65, creating a new empty store.
[Error] Failed to initialize applicationJava.IO.EOFException: Exception of type 'Java.IO.EOFException' was thrown.
11-21 09:23:16.848 E/ ( 2044): at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <896ad1d315ca4ba7b117efb8dacaedcf>:0
11-21 09:23:16.848 E/ ( 2044): at Java.Interop.JniEnvironment+InstanceMethods.CallNonvirtualVoidMethod (Java.Interop.JniObjectReference instance, Java.Interop.JniObjectReference type, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x00089] in <7cfbebb561c54efc9010b018c0846c7e>:0
11-21 09:23:16.848 E/ ( 2044): at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeNonvirtualVoidMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x0001f] in <7cfbebb561c54efc9010b018c0846c7e>:0
11-21 09:23:16.848 E/ ( 2044): at Java.Security.KeyStore.Load (System.IO.Stream stream, System.Char[] password) [0x00043] in <e975227ac8644a30bb0866117325de0d>:0
11-21 09:23:16.848 E/ ( 2044): at KeyChain.Net.XamarinAndroid.KeyChainHelper..ctor (System.Func`1[TResult] context, System.String keyStoreFileProtectionPassword, System.String fileName, System.String serviceId) [0x000af] in <09887da633ad457f806c800538c7f9a4>:0
11-21 09:23:16.848 E/ ( 2044): at KeyChain.Net.XamarinAndroid.KeyChainHelper..ctor (System.Func`1[TResult] context, System.String keyStoreFileProtectionPassword) [0x00000] in <09887da633ad457f806c800538c7f9a4>:0
11-21 09:23:16.848 E/ ( 2044): at Project.Droid.SplashActivity+<InitializeApplicationAsync>d__17.MoveNext () [0x000e9] in E:\Project\Droid\Activity\SplashActivity.cs:207