Android bouncy castle: IOException
Estoy usando el keytool de Sun para crear un keystore de castillo Bouncy e importar un certificado en él. El keytool produce un keystore en el formato del castillo Bouncy.
Entonces intento importar el almacén de llaves Bouncy del castillo en un programa de Androide. Soy capaz de obtener una instancia de la "BKS" keystore pero llamando a carga en el keystore lanza
- SSLHandshakeException: Ancla de confianza para la ruta de certificación no encontrada. Solo en la API de Android <19
- Error con keystore: Parse Tiempo generalizado, formato no válido
- Java.security.UnrecoverableKeyException: Error al obtener información acerca de la clave privada
- No puede encontrar keytool en un mac
- Buenas prácticas: ¿Cómo manejar las contraseñas del keystore en android / java?
"java.io.IOException: Wrong version of key store".
Este es el codigo
KeyStore keyStore = KeyStore.getInstance("BKS"); InputStream is = new FileInputStream("/mnt/sdcard/ArcGIS/mystore.bks"); keyStore.load(is, "abcdef".toCharArray());
He probado varias versiones del castillo Bouncy JAR descargado de http://www.bouncycastle.org/latest_releases.html
¿Qué estoy haciendo mal?
Gracias, Ranjit
- Encuentra el hash clave para una aplicación firmada
- ¿Dónde puedo encontrar el archivo de almacén de claves privado generado por Android Studio "Generar Asistente de APK firmado"?
- Android - ¿Codificar y decodificar RSA con clave privada?
- Cómo encontrar la huella dactilar MD5 de mi aplicación para Android
- Android, varias aplicaciones, varios clientes, un almacén de claves
- Cómo agregar un alias a Android (Java) Keystore
- Implementación de Android KeyStore para <4.3
- Android: Perdí mi tienda de la llave del androide, qué debo hacer?
Parece que la versión de BouncyCastle enviada con Android 4.0.3 (versión API 15) falla al intentar abrir los almacenes de claves producidos con la biblioteca BouncyCastle más reciente. Cuando creé un almacén de claves usando bcprov-jdk15on-147.jar
, mi aplicación de ejemplo de Android falló con java.io.IOException: Wrong version of key store
error de java.io.IOException: Wrong version of key store
.
Sin embargo, si el almacén de claves se creó con la biblioteca bcprov-jdk16-146.jar
, la aplicación podría cargarla. Mi solución fue crear el almacén de claves con esta biblioteca más antigua.
Presumiblemente, esto también será el caso de las versiones API más antiguas; Pruebe versiones anteriores de BouncyCastle al crear el almacén de claves.
Resuelto. El comando keytool faltaba el argumento "-storetype BKS", por lo que aunque el archivo BKS keystore fue generado, era probablemente inválido.
Este problema se debe a su longitud de contraseña de certificado BKS, debe ser menor o igual a 7 caracteres. Este es un asunto de la política de EE.UU. y los controles de exportación de EE.UU. (no por razones técnicas).
Vuelva a exportar su certificado con una longitud de 7 caracteres y funcionará.
Espero eso ayude
- Cómo traer imageView delante de cardview? Cuando ambos son de Disposición Relativa childs
- Cómo pasar de una actividad a la siguiente en Android