}else { KeyPairGeneratorSpec spec = new KeyPairGeneratorSpec.Builder(mContext) .setAlias(alias) .setSubject(new X500Principal("CN=Inspeckage, OU=ACPM, O=ACPM, C=BR")) .setSerialNumber(BigInteger.valueOf(12345)) .setStartDate(start.getTime()) .setEndDate(end.getTime()) .build();
notAfter.add(Calendar.YEAR, 3); KeyPairGeneratorSpec spec = null; spec = new KeyPairGeneratorSpec.Builder(context) .setAlias(KEYSTORE_WIGLE_CREDS_KEY_V0) .setSubject(new X500Principal("CN=wigle")) .setSerialNumber(BigInteger.ONE) .setStartDate(notBefore.getTime()) .setEndDate(notAfter.getTime()) .build();
when(mRsaBuilder.setAlias(anyString())).thenReturn(mRsaBuilder); when(mRsaBuilder.setSubject(any(X500Principal.class))).thenReturn(mRsaBuilder); when(mRsaBuilder.setStartDate(any(Date.class))).thenReturn(mRsaBuilder); when(mRsaBuilder.setEndDate(any(Date.class))).thenReturn(mRsaBuilder); when(mRsaBuilder.setSerialNumber(any(BigInteger.class))).thenReturn(mRsaBuilder); when(mRsaBuilder.setKeySize(anyInt())).thenReturn(mRsaBuilder); when(KeyPairGenerator.getInstance(anyString(), anyString())).thenReturn(mock(KeyPairGenerator.class)); KeyStore.PrivateKeyEntry rsaKey = mock(KeyStore.PrivateKeyEntry.class);
new KeyPairGeneratorSpec.Builder(context) .setAlgorithmParameterSpec(new RSAKeyGenParameterSpec(2048, RSAKeyGenParameterSpec.F4)) .setAlias(RSA_WRAP_LOCAL_PROTECTION_KEY_ALIAS) .setSubject(new X500Principal("CN=matrix-android-sdk")) .setStartDate(start.getTime()) .setEndDate(end.getTime()) .setSerialNumber(BigInteger.ONE) .build()); final KeyPair keyPair = generator.generateKeyPair();
spec = new KeyPairGeneratorSpec.Builder(context) .setAlias(mAlias) .setSubject(new X500Principal("CN=" + mAlias)) .setSerialNumber(BigInteger.valueOf(1337)) .setStartDate(start.getTime()) .setEndDate(end.getTime()) .build();
kpg.initialize(new KeyPairGeneratorSpec.Builder(getApplicationContext()) .setAlias(alias) .setStartDate(now) .setEndDate(end) .setSerialNumber(BigInteger.valueOf(1)) .setSubject(new X500Principal("CN=test1")) .build());
KeyPairGeneratorSpec spec = null; if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR2) { spec = new KeyPairGeneratorSpec.Builder(this) .setAlias(alias) .setSubject(new X500Principal("CN=Sample Name, O=Android Authority")) .setSerialNumber(BigInteger.ONE) .setStartDate(start.getTime()) .setEndDate(end.getTime()) .build();
private void createNewKeys(String alias){ if(!"".equals(alias)){ try { // Create new key if needed if (!keyStore.containsAlias(alias)) { Calendar start = Calendar.getInstance(); Calendar end = Calendar.getInstance(); end.add(Calendar.YEAR, 1); KeyPairGeneratorSpec spec = null; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) { spec = new KeyPairGeneratorSpec.Builder(Application.getApplication()) .setAlias(alias) .setSubject(new X500Principal("CN=Sample Name, O=Android Authority")) .setSerialNumber(BigInteger.ONE) .setStartDate(start.getTime()) .setEndDate(end.getTime()) .build(); } KeyPairGenerator generator = KeyPairGenerator.getInstance("RSA", "AndroidKeyStore"); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) { generator.initialize(spec); } KeyPair keyPair = generator.generateKeyPair(); } } catch (Exception e) { e.printStackTrace(); } } }
public void createNewKeys(View view) { String alias = aliasText.getText().toString(); try { // Create new key if needed if (!keyStore.containsAlias(alias)) { Calendar start = Calendar.getInstance(); Calendar end = Calendar.getInstance(); end.add(Calendar.YEAR, 1); KeyPairGeneratorSpec spec = new KeyPairGeneratorSpec.Builder(this) .setAlias(alias) .setSubject(new X500Principal("CN=Sample Name, O=Android Authority")) .setSerialNumber(BigInteger.ONE) .setStartDate(start.getTime()) .setEndDate(end.getTime()) .build(); KeyPairGenerator generator = KeyPairGenerator.getInstance("RSA", "AndroidKeyStore"); generator.initialize(spec); KeyPair keyPair = generator.generateKeyPair(); } } catch (Exception e) { Toast.makeText(this, "Exception " + e.getMessage() + " occured", Toast.LENGTH_LONG).show(); Log.e(TAG, Log.getStackTraceString(e)); } refreshKeys(); }
private boolean generateKeyOld(Context context, String keystoreAlias, boolean isAuthenticationRequired) { try { final Calendar start = Calendar.getInstance(); final Calendar end = Calendar.getInstance(); end.add(Calendar.YEAR, 25); final KeyPairGenerator keyGen = KeyPairGenerator.getInstance(KeyProperties.KEY_ALGORITHM_RSA, "AndroidKeyStore"); final KeyPairGeneratorSpec spec = new KeyPairGeneratorSpec.Builder(context) .setAlias(keystoreAlias) .setSubject(new X500Principal("CN=" + keystoreAlias)) .setSerialNumber(BigInteger.valueOf(Math.abs(keystoreAlias.hashCode()))) .setEndDate(end.getTime()) .setStartDate(start.getTime()) .setSerialNumber(BigInteger.ONE) .setSubject(new X500Principal("CN = Secured Preference Store, O = Devliving Online")) .build(); keyGen.initialize(spec); keyGen.generateKeyPair(); return true; } catch ( NoSuchAlgorithmException | NoSuchProviderException | InvalidAlgorithmParameterException exc) { exc.printStackTrace(); return false; } }
private static void generateAsymmetricKeyPair() throws SecureStorageException { try { if (isRTL()) { Locale.setDefault(Locale.US); } Calendar start = Calendar.getInstance(); Calendar end = Calendar.getInstance(); end.add(Calendar.YEAR, 99); KeyPairGeneratorSpec spec = new KeyPairGeneratorSpec.Builder(context.get()) .setAlias(KEY_ALIAS) .setSubject(new X500Principal(KEY_X500PRINCIPAL)) .setSerialNumber(BigInteger.TEN) .setStartDate(start.getTime()) .setEndDate(end.getTime()) .build(); KeyPairGenerator generator = KeyPairGenerator.getInstance(KEY_ENCRYPTION_ALGORITHM, KEY_KEYSTORE_NAME); generator.initialize(spec); generator.generateKeyPair(); } catch (Exception e) { throw new SecureStorageException(e.getMessage(), e, KEYSTORE_EXCEPTION); } }
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2) public void create_key_if_not_available() throws KeyStoreException { try { if (!keyStore.containsAlias(alias)) { Calendar start = Calendar.getInstance(); Calendar end = Calendar.getInstance(); end.add(Calendar.YEAR, 10); KeyPairGeneratorSpec spec = new KeyPairGeneratorSpec.Builder(context) .setAlias(alias) .setSubject(new X500Principal(X500_PRINCIPAL)) .setSerialNumber(BigInteger.ONE) .setStartDate(start.getTime()) .setEndDate(end.getTime()) .build(); KeyPairGenerator generator = KeyPairGenerator.getInstance("RSA", "AndroidKeyStore"); generator.initialize(spec); generator.generateKeyPair(); } } catch (Exception e) { throw new KeyStoreException(e); } }
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2) static void createKeysJBMR2(Context context, String alias) throws NoSuchProviderException, NoSuchAlgorithmException, InvalidAlgorithmParameterException { Calendar start = new GregorianCalendar(); Calendar end = new GregorianCalendar(); end.add(Calendar.YEAR, 30); KeyPairGeneratorSpec spec = new KeyPairGeneratorSpec.Builder(context) // You'll use the alias later to retrieve the key. It's a key // for the key! .setAlias(alias) .setSubject(new X500Principal("CN=" + alias)) .setSerialNumber(BigInteger.valueOf(Math.abs(alias.hashCode()))) // Date range of validity for the generated pair. .setStartDate(start.getTime()) .setEndDate(end.getTime()) .build(); KeyPairGenerator kpGenerator = KeyPairGenerator.getInstance(SecurityConstants.TYPE_RSA, SecurityConstants.KEYSTORE_PROVIDER_ANDROID_KEYSTORE); kpGenerator.initialize(spec); KeyPair kp = kpGenerator.generateKeyPair(); }
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2) void generateKeyPair(Context context) throws NoSuchProviderException, NoSuchAlgorithmException, InvalidAlgorithmParameterException, KeyStoreException { // Generate the RSA key pairs if (!mKeyStore.containsAlias(KEY_ALIAS)) { // Generate a key pair for encryption Calendar start = Calendar.getInstance(); Calendar end = Calendar.getInstance(); end.add(Calendar.YEAR, 30); KeyPairGeneratorSpec spec = new KeyPairGeneratorSpec.Builder(context) .setAlias(KEY_ALIAS) .setSubject(new X500Principal("CN=" + KEY_ALIAS)) .setSerialNumber(BigInteger.TEN) .setStartDate(start.getTime()) .setEndDate(end.getTime()) .build(); KeyPairGenerator kpg = KeyPairGenerator.getInstance(KEY_ALGORITHM_RSA, AndroidKeyStore); kpg.initialize(spec); kpg.generateKeyPair(); } }
@Override @SuppressWarnings("deprecation") @SuppressLint({"InlinedApi", "TrulyRandom"}) public void generateKey(CryptoUtils.ICryptoFactory cryptoFactory, String alias, Context context) throws Exception { Calendar writeExpiry = Calendar.getInstance(); writeExpiry.add(Calendar.YEAR, ENCRYPT_KEY_LIFETIME_IN_YEARS); KeyPairGenerator generator = KeyPairGenerator.getInstance(KeyProperties.KEY_ALGORITHM_RSA, ANDROID_KEY_STORE); generator.initialize(new android.security.KeyPairGeneratorSpec.Builder(context) .setAlias(alias) .setSubject(new X500Principal("CN=" + alias)) .setStartDate(new Date()) .setEndDate(writeExpiry.getTime()) .setSerialNumber(BigInteger.TEN) .setKeySize(RSA_KEY_SIZE) .build()); generator.generateKeyPair(); }
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2) private static void generateKeyPair(Context context, String alias) throws GeneralSecurityException { final Calendar start = new GregorianCalendar(); final Calendar end = new GregorianCalendar(); end.add(Calendar.YEAR, 100); final KeyPairGeneratorSpec spec = new KeyPairGeneratorSpec.Builder(context) .setAlias(alias) .setSubject(new X500Principal("CN=" + alias)) .setSerialNumber(BigInteger.ONE) .setStartDate(start.getTime()) .setEndDate(end.getTime()) .build(); final KeyPairGenerator gen = KeyPairGenerator.getInstance("RSA", "AndroidKeyStore"); gen.initialize(spec); gen.generateKeyPair(); }
private static KeyPair generateWrapperKey(Context context, String alias) throws NoSuchProviderException, NoSuchAlgorithmException, InvalidAlgorithmParameterException { KeyPairGenerator generator = KeyPairGenerator.getInstance(WRAPPER_KEY_ALGORITHM, KEYSTORE_PROVIDER); Calendar startDate = Calendar.getInstance(); Calendar endDate = Calendar.getInstance(); endDate.add(Calendar.YEAR, 25); KeyPairGeneratorSpec.Builder builder = new KeyPairGeneratorSpec.Builder(context) .setAlias(alias) .setSerialNumber(BigInteger.ONE) .setSubject(new X500Principal("CN=${alias} CA Certificate")) .setStartDate(startDate.getTime()) .setEndDate(endDate.getTime()); generator.initialize(builder.build()); return generator.generateKeyPair(); }
private AlgorithmParameterSpec getParameterSpec(String alias) { GregorianCalendar start = new GregorianCalendar(); GregorianCalendar end = new GregorianCalendar(); end.add(Calendar.YEAR, 5); return new KeyPairGeneratorSpec.Builder(context) .setAlias(alias) .setSubject(new X500Principal("CN=" + alias)) .setSerialNumber(KEY_SERIAL_NUMBER) .setStartDate(start.getTime()) .setEndDate(end.getTime()) .build(); }