tag studio initialize fragments example custom android encryption bouncycastle

studio - cómo agregar el algoritmo de Bouncycastle a Android



initialize fragment android (4)

Intento escribir una pequeña aplicación usando el algoritmo Bouncycastle, del BouncyCastleProvider.java dice que tenemos que importar y agregar el proveedor durante el tiempo de ejecución con el siguiente código

import org.bouncycastle.jce.provider.BouncyCastleProvider; Security.addProvider(new BouncyCastleProvider());

error: la importación de org.bouncycastle no se puede resolver; durante el error de importación: BouncyCastleProvider no se puede resolver a un tipo; al llamar a addProvider

Creo que bouncycastle no cuenta con el SDK de Android 1.6, así que pensé en instalarlo por separado. ¿Cómo debería hacer esto? Si Bouncycastle se envía junto con SDK, ¿qué debo hacer para evitar estos errores? Estoy usando Android 1.6, eclipse-V3.4.0 en winXP. Gracias por adelantado


No debería necesitar agregar explícitamente BouncyCastle como proveedor. Como dices, ya está incluido con Android.

Esto es lo que hago para obtener un cifrado AES de BouncyCastle,

SecretKeyFactory keyFac = SecretKeyFactory.getInstance("PBEWithSHA256And256BitAES-CBC-BC");

Si miras en BouncyCastleProvider.java , verás una referencia a PBEWithSHA256And256BitAES-CBC-BC junto con algunas otras cifras proporcionadas por BouncyCastle.


No estoy familiarizado con esta biblioteca en particular. Sin embargo, aquí hay instrucciones generales sobre cómo incluir una biblioteca entregada como un archivo ''jar'' en un proyecto de Android.

Descargue el archivo jar y colóquelo en algún lugar de su estación de trabajo. Es posible que desee colocar en el directorio raíz del proyecto en el que lo está instalando, o tal vez en un directorio ''lib'' en la raíz.

En Eclipse, seleccione Proyecto-> Propiedades, luego seleccione Java Build Path. A continuación, haga clic en Agregar tarros externos, navegue hasta donde coloque el archivo .jar, selecciónelo y haga clic en Abrir.

Ahora escriba o pegue un código que intente usar las clases en el contenedor. Si tiene suerte, aparecerá un icono de bombilla en el margen izquierdo. Al hacer clic en esto, le pedirá que agregue la declaración de importación correcta en la parte superior de su archivo .java.

Todavía hay cosas que pueden salir mal en este punto. La biblioteca puede hacer uso de contenido java * o javax * .no proporcionado por Android (tiene solo un subconjunto de estas bibliotecas). También puede tener dependencias de biblioteca adicionales propias. Hay otras razones por las cuales .jar puede no ser compatible con la plataforma Android.

Tenga en cuenta también que aumentará el tamaño de su .apk para acomodar el nuevo contenido.


Necesitará compilar la biblioteca BC con un nombre diferente, ya que tendrá un conflicto con el BC incorporado que ya está en Android: recompile y consulte como BC2 u org.BouncyCastle2.x


O mejor aún use SpongyCastle ya que el BC enviado con Android es paralizado y viejo.