Ajouter un certificat (X509) à un keystore!
Dans le cadre d'un pti projet j'ai une ptite appli qui permet de signer les documents PDF en utilisant l'API Itext. mais j'ai un pti souci parceque pour faire la vérification je dois avoir un keystore contenant mes certificats de confiance, mais malheureusement je n'arrive à ajouter un certificat (X509 - .cer) à un keystore que je crée moi même.
Un bout de mon code:
Code:
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 38 39 40 41 42 43 44 45 46 47 48 49
| //Not done still to do
public void addTrustedCertificate(){
if(keyStore == null){
try {
keyStore = KeyStore.getInstance("PKCS12");
} catch (KeyStoreException ex) {
JOptionPane.showMessageDialog(CertGUI.this,
"Impossible de créer le KeyStore!",
"Erreur!",
JOptionPane.ERROR_MESSAGE);
return;
}
}
String alias = approuvedCert.getName().substring(0,
approuvedCert.getName().indexOf(".cer"));
try {
InputStream inStream = new FileInputStream(approuvedCert);
CertificateFactory cf = CertificateFactory.getInstance("X509");
Certificate cert = cf.generateCertificate(inStream);
X509Certificate x509cert = (X509Certificate)cf.generateCertificate(inStream);
inStream.close();
keyStore.setCertificateEntry(alias,cert);
certDetailsField.append("Version : "+x509cert.getVersion());
certDetailsField.append("Propriétaire : "+x509cert.getSubjectX500Principal());
certDetailsField.append("DN Propriétaire : "+x509cert.getSubjectDN());
certDetailsField.append("Fournisseur : "+x509cert.getIssuerX500Principal());
certDetailsField.append("DN Fournisseur : "+x509cert.getIssuerDN());
certDetailsField.append("Valide de : "+x509cert.getNotBefore());
certDetailsField.append(" A : "+x509cert.getNotAfter());
certDetailsField.append("Numero de série : "+x509cert.getSerialNumber());
} catch (Exception ex) {
JOptionPane.showMessageDialog(CertGUI.this,
"Impossible d'ajouter le certificat à la liste des indentitées approuvées!"+ex.getMessage(),
"Erreur!",
JOptionPane.ERROR_MESSAGE);
ex.printStackTrace();
return;
}
JOptionPane.showMessageDialog(CertGUI.this,
"Le certificat a été ajouter à la liste des indentitées approuvées!",
"OK!",
JOptionPane.INFORMATION_MESSAGE);
} |
je ne sais pas si mon code est propre mais toutes les remarques sont les bienvenues. Merci d'avance à tous!