je cherche à implémenter une méthode qui gènère un PKCS12 à partir des fichiers suivant.
la clé privé _.key
le certificat publique _.cer
et en option le certificat de l'autorité de certification _.cer

en spécifiant le mot de passe du PKCS12
j'utilse le code suivant pour le moment
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
try{
KeyStore ks = KeyStore.getInstance("PKCS12");
CertificatX509 cert=new CertificatX509(fileMyCert);
PrivateKey pk=this.loadPrivateKey(new File(fileMyKey));
ks.load(null, null); 
Certificate[] chain = new Certificate[] {cert.getX_cert()}; 
ks.setKeyEntry("0", pk, pkcs12Pass.toCharArray(), chain); 
ks.store(new FileOutputStream(outFilePKCS12),pkcs12Pass.toCharArray());
}catch (Exception e){	
			e.printStackTrace();
		}
le problème c'est que la méthode:
private PrivateKey loadPrivateKey(File privateKeyFile)	throws Exception
me génère des erreurs.
 
voila le corps de la méthode:
private PrivateKey loadPrivateKey(File privateKeyFile)	throws Exception
{
FileInputStream privateKeyInputStream = new FileInputStream(privateKeyFile);
byte[] keyBytes = new byte[(int) privateKeyFile.length()];
privateKeyInputStream.read(keyBytes);
privateKeyInputStream.close();
try {
//			Load the private key
System.out.println("mounting...");
PKCS8EncodedKeySpec privateKeySpec = new PKCS8EncodedKeySpec(keyBytes);			
KeyFactory keyFactory = KeyFactory.getInstance("RSA","BC"); 
PrivateKey privateKey = keyFactory.generatePrivate(privateKeySpec);								
System.out.println("Loaded " + privateKey.getAlgorithm()
		+ " " + privateKey.getFormat()
		+ " private key.");
return privateKey;
} catch (Exception e) {
e.printStackTrace();
}
		return null;
	}