mirror of
https://github.com/moparisthebest/open-keychain
synced 2024-11-27 11:12:15 -05:00
Reorder security providers in application class, document functionality
This commit is contained in:
parent
4b8c5c8134
commit
c90e776055
@ -18,6 +18,7 @@
|
||||
package org.sufficientlysecure.keychain;
|
||||
|
||||
import java.io.File;
|
||||
import java.security.Provider;
|
||||
import java.security.Security;
|
||||
|
||||
import org.spongycastle.jce.provider.BouncyCastleProvider;
|
||||
@ -29,18 +30,37 @@ import android.os.Environment;
|
||||
|
||||
public class KeychainApplication extends Application {
|
||||
|
||||
static {
|
||||
// Define Java Security Provider to be Bouncy Castle
|
||||
Security.insertProviderAt(new BouncyCastleProvider(), 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when the application is starting, before any activity, service, or receiver objects
|
||||
* (excluding content providers) have been created.
|
||||
*/
|
||||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
|
||||
// apply RNG fixes
|
||||
/*
|
||||
* Sets Bouncy (Spongy) Castle as preferred security provider
|
||||
*
|
||||
* insertProviderAt() position starts from 1
|
||||
*/
|
||||
Security.insertProviderAt(new BouncyCastleProvider(), 1);
|
||||
|
||||
/*
|
||||
* apply RNG fixes
|
||||
*
|
||||
* among other things, executes Security.insertProviderAt(new
|
||||
* LinuxPRNGSecureRandomProvider(), 1) for Android <= SDK 17
|
||||
*/
|
||||
PRNGFixes.apply();
|
||||
Log.d(Constants.TAG, "PRNG Fixes applied!");
|
||||
Log.d(Constants.TAG, "Bouncy Castle set and PRNG Fixes applied!");
|
||||
|
||||
if (Constants.DEBUG) {
|
||||
Provider[] providers = Security.getProviders();
|
||||
Log.d(Constants.TAG, "Installed Security Providers:");
|
||||
for (Provider p : providers) {
|
||||
Log.d(Constants.TAG, "provider class: " + p.getClass().getName());
|
||||
}
|
||||
}
|
||||
|
||||
// Create APG directory on sdcard if not existing
|
||||
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
|
||||
@ -51,5 +71,4 @@ public class KeychainApplication extends Application {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,5 +1,3 @@
|
||||
package org.sufficientlysecure.keychain.util;
|
||||
|
||||
/*
|
||||
* This software is provided 'as-is', without any express or implied
|
||||
* warranty. In no event will Google be held liable for any damages
|
||||
@ -10,6 +8,8 @@ package org.sufficientlysecure.keychain.util;
|
||||
* freely, as long as the origin is not misrepresented.
|
||||
*/
|
||||
|
||||
package org.sufficientlysecure.keychain.util;
|
||||
|
||||
import android.os.Build;
|
||||
import android.os.Process;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user