Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Generar un certificado de cliente en un dispositivo Android

Quiero crear una aplicación de Android que utilice la autenticación de certificado de cliente SSL.

He encontrado códigos de ejemplo que me muestran cómo dos usan la autenticación de certificado de cliente SSL en una aplicación de Android. Esto es claro para mí.

  • Android.view.InflateException al usar selectableItemBackground
  • Cómo saber cuándo finaliza la transición de elemento compartido
  • Ubicación de SDK de Android
  • ¿Cuál es el beneficio de ViewHolder?
  • Virutas de material Android
  • Abierta: EBUSY (dispositivo o recurso ocupado)
  • Mi problema es sin embargo que quiero generar un certificado del cliente del SSL en el dispositivo. En pocas palabras, quiero que mi programa haga lo siguiente:

    Cuando el programa está instalado en el dispositivo, se debe generar un certificado de cliente en el dispositivo (al ejecutarlo por primera vez) y se enviará una impresión de clave pública a mi servidor. (El certificado debe ser generado en el primer uso).

    ¿Cómo puedo generar un certificado de cliente y un dispositivo Android desde mi aplicación?

  • Autenticación de Android con Google OpenID. ¿Qué sigue?
  • ¿Cómo funciona el nuevo applicationId en build.gradle?
  • SetStorageEncryption no produce ningún efecto
  • Spinner personalizado con esquinas redondeadas, borde acartonado y un icono selector
  • Android: cómo borrar el archivo de imagen interno
  • ¿Pueden las aplicaciones de Android solicitar permisos adicionales en tiempo de ejecución?
  • One Solution collect form web for “Generar un certificado de cliente en un dispositivo Android”

    Puede ejecutar el siguiente código en Android para generar un par de claves y recuperar la huella digital. Utiliza la excelente biblioteca JSCH de jCraft .

    public void generatePublicPrivateKeyPair() throws Exception { ByteArrayOutputStream privateKeyOutputStream = new ByteArrayOutputStream(); ByteArrayOutputStream publicKeyOutputStream = new ByteArrayOutputStream(); JSch jsch=new JSch(); KeyPair kpair=KeyPair.genKeyPair(jsch, KeyPair.RSA); //kpair.setPassphrase(passphrase); kpair.writePrivateKey(privateKeyOutputStream); kpair.writePublicKey(publicKeyOutputStream, "Generated by vPro Management Console"); String fingerPrint = kpair.getFingerPrint(); System.out.println("Finger print: "+ fingerPrint); kpair.dispose(); byte[] privateKey = privateKeyOutputStream.toByteArray(); byte[] publicKey = publicKeyOutputStream.toByteArray(); System.out.println("Private key " + new String(privateKey)); System.out.println("Public key " + new String(publicKey)); } 

    Simplemente coloque el JAR en su carpeta de librerías y estará listo.

    Si utiliza maven, puede hacer referencia a la dependencia JSCH de la siguiente manera:

     <dependency> <groupId>com.jcraft</groupId> <artifactId>jsch</artifactId> <version>0.1.50</version> </dependency> 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.