Comment vérifier le nom et l'alias du certificat dans les fichiers de magasin de clés?

J'ai un tas de fichiers .keystore et je dois trouver un avec CN et alias spécifiques. Existe-t-il un moyen de le faire avec keytool, jarsigner ou un autre outil? J'ai trouvé un moyen de vérifier si un magasin de clés spécifique a été utilisé pour signer un apk spécifique, mais j'ai également besoin d'obtenir l'alias et le nom du certificat dans chacun des fichiers.

  • Comment envoyer un périphérique à la notification de l'appareil en utilisant FCM sans utiliser XMPP ou tout autre script.?
  • Pourquoi utiliser la base de données sqlite dans Android?
  • Dessinez un cercle sur Android MapView
  • Le bouton ne répond pas à Click Event after Translation
  • Réalité augmentée (AR) sur HTML5 et WebGL
  • Comment jouer à la radio en direct .asx video / x-ms-asf?
  • Lecture simultanée simultanément de vidéos simultanément
  • Android HttpUrlConnection EOFException
  • SQLiteOpenHelper onUpgrade () Confusion Android
  • SurfaceView, SurfaceTexture et MediaPlayer ne peuvent pas lire ma vidéo sur Android
  • Système de particules libGDX
  • ListView ou TableLayout?
  • 6 Solutions collect form web for “Comment vérifier le nom et l'alias du certificat dans les fichiers de magasin de clés?”

    Vous pouvez exécuter la commande suivante pour répertorier le contenu de votre fichier de magasin de clés:

    keytool -list -keystore .keystore 

    Si vous recherchez un alias spécifique, vous pouvez également le spécifier dans la commande:

     keytool -list -keystore .keystore -alias foo 

    Si l'alias n'est pas trouvé, il affichera une exception:

    Keytool error: java.lang.Exception: Alias ​​n'existe pas

    Pour obtenir tous les détails, j'ai dû ajouter l'option -v à la réponse de romaintaz:

     keytool -v -list -keystore <FileName>.keystore 

    Vous pouvez exécuter à partir du code Java.

     try { File file = new File(keystore location); is = new FileInputStream(file); KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType()); String password = "password"; keystore.load(is, password.toCharArray()); Enumeration enumeration = keystore.aliases(); while(enumeration.hasMoreElements()) { String alias = (String)enumeration.nextElement(); System.out.println("alias name: " + alias); Certificate certificate = keystore.getCertificate(alias); System.out.println(certificate.toString()); } } catch (java.security.cert.CertificateException e) { e.printStackTrace(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (KeyStoreException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally { if(null != is) try { is.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } 

    La classe de certificat contient toutes les informations sur le magasin de clés.

    MISE À JOUR: OBTENIR UNE CLÉ PRIVÉE

     Key key = keyStore.getKey(alias, password.toCharArray()); String encodedKey = new Base64Encoder().encode(key.getEncoded()); System.out.println("key ? " + encodedKey); 

    @prateek J'espère que c'est ce que vous cherchez!

    Outil visuel open source KeyStore Explorer pour gérer les magasins clés .

    Dans un environnement de type bash, vous pouvez utiliser:

     keytool -list -v -keystore cacerts.jks | grep 'Alias name:' | grep -i foo 

    Cette commande se compose de 3 parties. Comme indiqué ci-dessus, la 1ère partie répertorie tous les certificats approuvés avec tous les détails et c'est pourquoi la 2ème partie vient filtrer uniquement les informations d'alias parmi ces détails. Et enfin, dans la 3ème partie, vous pouvez rechercher un alias spécifique (ou une partie de celui-ci). Le -i active le mode insensible à la casse. Ainsi, la commande donnée produira tous les alias contenant le motif 'foo', fe foo, 123_FOO, fooBar, etc. Pour plus d'informations, merci.

    Ceci répertorie tous les certificats:

     keytool -list -keystore "$JAVA_HOME/jre/lib/security/cacerts" 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.