Ceci est mon programme. Je reçois l'erreur "erreur d'ouverture du fichier de clé". Veuillez m'aider où je vais mal.comment extraire la clé privée du fichier .p12 en utilisant java sun security
import java.io.FileInputStream;
import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.PrivateKey;
import java.util.Base64;
public class ExtractionClass {
public static void main(String args[]) {
String p12Password = "PassWord";
try{
FileInputStream file = new FileInputStream("C:/Users/Aarti_Jangid/Desktop/p12/certChain.p12");
System.out.println("FILE "+ file);
KeyStore keystore = KeyStore.getInstance("PKCS12", "SunJSSE");
keystore.load(file, p12Password.toCharArray());
String alias = keystore.aliases().nextElement();
PrivateKey key = (PrivateKey)keystore.getKey(alias, p12Password.toCharArray());
System.out.println(Base64.getEncoder().encodeToString(key.getEncoded()));
} catch(KeyStoreException kse) {
kse.printStackTrace();
System.err.println("Error getting the key");
} catch (Exception e) {
System.err.println("Error opening the key file");
e.printStackTrace();
}
}
}
S'il vous plaît copier coller la trace de la pile ici aussi –
je pense que votre fichier .p12 a quelque chose de mal, Si vous utilisez un certificat valide, votre code fonctionne, [ici] (https://itv.mit-xperts.com/clientssl/issue/dload/index.php?id=1411134668) vous pouvez trouver un certificat valide. – user6904265
Si vous créez le fichier .p12 par programme, jetez un oeil [ici] (http://stackoverflow.com/questions/5312559/how-do-i-programmatically-create-a-new-keystore) – user6904265