Bonjour
Comme de base SHA256withDSA n'existe pas, j ai fait une classe qui calcule un haché à partir de SHA256, puis signe ce haché avec DSA.
Le problème est que quand je vérifie ma signature, j'obtient False.
une idée ?
merci
Bonjour
Comme de base SHA256withDSA n'existe pas, j ai fait une classe qui calcule un haché à partir de SHA256, puis signe ce haché avec DSA.
Le problème est que quand je vérifie ma signature, j'obtient False.
une idée ?
merci
Hoi,
Oui, un bug !!Envoyé par cryptoman
![]()
Comment vérifies-tu ta signature (quelle méthode et quelle clé) ?Envoyé par cryptoman
![]()
j 'utilise la clé publique correspondante à la clé privée qui m'a servi pour la signature (clé 1024bits DSA).
et pour la méthode, c'est celle de Java,
j'utilise la méthode Signature.update() , et ensuite un pti Signature.verify()
quand j'utilise SHA1withDSA c'est à dire ce qui est implémenter dans Java alors mes classes fonctionnent et j'obtient bien un true pour la vérif
Un truc que je ne comprends pas : si tu passes par les classes java.security.MessageDigest et javax.crypto.Cipher lors de la génération de ta signature "maison" c'est bien parce que tu sembles ne pas posséder d'implémentation de SHA256withDSA (aucun JCE supplémentaire au SunJCE comme BouncyCastle par exemple) ?...
Or pour la vérification de ta signature "maison" tu utilises directement la classe "standard" java.security.Signature qui nécessite l'implémentation de l'algorithme SHA256withDSA à travers un JCE.
Tout ceci n'est pas très cohérent !
![]()
C'est une remarque plus que judicieuse, je vais écrire mon propre programme de vérification.
Et pour information, c'est une volonté de ne pas utiliser de provider.
Merci.
Ok tout marche bien, j'ai implémenté les algorithmes de signatures et de vérifications (cf Wikipédia)
Partager