The standard Android configuration of openssl is built with the following
options which omits the indicated ciphers and security features:
LOCAL_CFLAGS += -DOPENSSL_NO_BF -DOPENSSL_NO_CAMELLIA
-DOPENSSL_NO_CAST -DOPENSSL_NO_CMS -DOPENSSL_NO_GMP -DOPENSSL_NO_IDEA
-DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779
-DOPENSSL_NO_SEED -DOPENSSL_NO_TLSEXT
The NO_BF means that Blowfish is not supported.
You can directly query the JCE crypto providers as follows
{code}
import java.security.Provider;
import java.security.Security;
import java.util.Enumeration;
Log.d(TAG, "Android supported crypto");
Provider p[] = Security.getProviders();
for (int i = 0; i < p.length; i++) {
Log.d(TAG, "__PROVIDER__" + i);
Log.d(TAG, "__PROVIDER_META__" + i);
Log.d(TAG, "Name: "+ p[i].getName() + " Version: " + p[i].getVersion() +
" Info: " + p[i].getInfo());
Log.d(TAG, "__KEYS__" + i);
for (Enumeration e = p[i].keys(); e.hasMoreElements();) {
Log.d(TAG," " + e.nextElement());
}
{code}
}
Run logcat on this and pipe it through grep -i crypto
On Mon, Jun 7, 2010 at 10:59 PM, hungr <[email protected]> wrote:
> Hi all,
>
> I would like to ask about Blowfish encryption in Android SDK.
>
> Does Android SDK support Blowfish encryption ?
>
>
> Regards,
> Raymond Hung