elle fait quoi cette ligne au juste
Code:crlGen.addExtension(X509Extensions.AuthorityKeyIdentifier, false, new AuthorityKeyIdentifierStructure(caCert.getEncoded()));
Version imprimable
elle fait quoi cette ligne au juste
Code:crlGen.addExtension(X509Extensions.AuthorityKeyIdentifier, false, new AuthorityKeyIdentifierStructure(caCert.getEncoded()));
Elle ajoute une extension X.509 à la CRL. Il faut regarder dans la RFC 3280 à quoi correspond l'extension AuthorityKeyIdentifier, de mémoire je saurais pas dire.
Utiliser les fonctions de sécurité sans avoir lu la documentation de base (les RFC) me semble assez hasardeux. Je dis pas les connaitre par coeur mais au moins avoir lu les RFC principales (c'est indiqué dans la Javadoc) une fois c'est quand même bien.
Sinon à propos du package javax.security.cert, il ne doit pas être utilisé. C'est écrit pourquoi ici.
merci pour le conseil , j'avoue que je suis coincé par le temps c'est pour cette raison que j'essaye de developper et lire la doc au meme temps .
j'ai essayé de faire un update sur une CRL déja existante dans le LDAP de la sorte mais je ne vois pas pourquoi il me retourne toujours le dernier certificat revoqué
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 public static X509CRL updateCRL(javax.security.cert.X509Certificate caCert,PrivateKey caKey,X509CRL oldCRL) throws InvalidKeyException, NoSuchProviderException, SecurityException, SignatureException, CRLException { X509V2CRLGenerator crlGen = new X509V2CRLGenerator(); Date now = new Date(); crlGen.setIssuerDN(new X509Name(caCert.getSubjectDN().toString())); //crlGen.setIssuerDN((X500Principal) caCert.getSubjectDN()); crlGen.setThisUpdate(now); crlGen.setNextUpdate(new Date(now.getTime() + 900000)); crlGen.setSignatureAlgorithm("SHA256WithRSAEncryption"); crlGen.addCRL(oldCRL); crlGen.addCRLEntry(caCert.getSerialNumber(), now, CRLReason.privilegeWithdrawn); crlGen.addExtension(X509Extensions.CRLNumber, false, new CRLNumber(BigInteger.valueOf(2))); X509CRL crl = null; try { crl = crlGen.generate(caKey, "BC"); } catch (CRLException e) { // TODO Auto-generated catch block System.out.println("erreur crl"+e.getMessage() ); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (NoSuchAlgorithmException e) { // TODO Auto-generated catch block e.printStackTrace(); } return crl ; }
Si tu as lu ce message avant que je l'édite oublie ce que j'ai écrit, j'avais pas lu ton code assez en détail.
Je sais plus trop quoi te dire.
d'accord , pour l'update je ne comprend pas pourquoi la taille du certificationRevocationList diminue quand j'ai fait l'update de la CRL en ajoutant une autre entrée , mais quand j'affiche le contenu de la CRL , il y'a les deux certificat revoKés .
merci