2009-12-02 3 views
0

Utilisation de Java 1.4.2 avec des fichiers de règles de juridiction illimités installés.Echec de vérification de la signature de débogage

J'ai une classe qui a été signée et vérifiée avec succès. Cependant, maintenant j'ai changé les clés et soudainement la vérification échoue.

clés ont été générées avec:

openssl genrsa -aes256 -out production_private.pem 2048 
openssl pkcs8 -topk8 -nocrypt -in production_private.pem -outform der -out production_private.der 
openssl rsa -in production_private.pem -pubout -outform DER -out production_public.der 

Je ne fais vérification à l'aide des touches PEM et OpenSSL:

openssl dgst -sha1 -sign production_private.pem -out test.txt.sha1 test.txt 
Enter pass phrase for production_private.pem: 
openssl dgst -sha1 -verify production_public.pem -signature test.txt.sha1 test.txt 
Verified OK 

Mais il ne semble pas que vous pouvez le faire en utilisant les touches de DER.

Aucune erreur n'a été renvoyée. Signature.verify renvoie juste false. Puisque cela fonctionne avec un ensemble de clés et pas un autre, mon hypothèse est que ce doit être un problème clé de quelque sorte.

Avez-vous des idées supplémentaires sur la façon dont je pourrais vérifier que la paire de clavettes est correcte? Je ne veux pas me tuer en cherchant des erreurs de codage juste pour découvrir que les clés étaient la source du problème.

Je suis heureux de partager la source sur demande - Je ne veux pas embrouiller le problème jusqu'à ce que nécessaire.

Répondre

0

Il s'est avéré être totalement indépendant. La procédure DB corrompait la valeur de la clé.

0

Le format de clé par défaut est PEM. Vous devez ajouter ce paramètre pour utiliser DER,

-keyform DER 
+0

Ne semble pas le supporter. De la documentation: -keyform arg Spécifie le format de clé à signer avec. Seuls les formats PEM et ENGINE sont pris en charge par la commande dgst. – wadesworld

Questions connexes