Warum keyStore.aliases () für pkcs12 leer ist

Ich versuche, PrivateKey aus der .p12-Datei mit folgendem Code zu laden:

    Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
    java.security.KeyStore keyStore = KeyStore.getInstance("PKCS12", "BC");
    keyStore.load(new FileInputStream(new File("my_domain_com.p12")), password);
    keyStore.aliases().hasMoreElements(); //this is false
    java.security.PrivateKey privateKey = (PrivateKey) keyStore.getKey("SomeAlias", password);  

Ich versuche den Grund zu finden, warum es keine Aliase gibt. Aber ich kann nicht finden. Was kann ein Grund für den leeren Alias ​​sein? Ich möchte einen privaten Schlüssel erhalten und einen Text mit diesem Schlüssel verschlüsseln. Gibt es einen anderen Ansatz?

Ich habe auch eine CER-Datei, bin mir aber nicht sicher, ob ich sie zusammen verwenden soll.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage