private void CreateKey_Credentials() { var generator = KeyPairGenerator.GetInstance("RSA", AndroidKeyStore); if (Build.VERSION.SdkInt < BuildVersionCodes.M) { Java.Util.Calendar calendar = Java.Util.Calendar.Instance; calendar.Add(Java.Util.CalendarField.Year, 20); Date startDate = Java.Util.Calendar.Instance.Time; Date endDate = calendar.Time; #pragma warning disable 0618 var builder = new KeyPairGeneratorSpec.Builder(_context); #pragma warning restore 0618 builder.SetAlias(KEYALIAS_CREDENTIALS); builder.SetSerialNumber(Java.Math.BigInteger.One); builder.SetSubject(new Javax.Security.Auth.X500.X500Principal("CN=${alias} CA Certificate")); builder.SetStartDate(startDate); builder.SetEndDate(endDate); generator.Initialize(builder.Build()); } else { var builder = new KeyGenParameterSpec.Builder(KEYALIAS_CREDENTIALS, KeyStorePurpose.Encrypt | KeyStorePurpose.Decrypt); builder.SetBlockModes(KeyProperties.BlockModeEcb); builder.SetEncryptionPaddings(KeyProperties.EncryptionPaddingRsaPkcs1); generator.Initialize(builder.Build()); } generator.GenerateKeyPair(); }