pk-crypto: Use RFC6979 when signing with an ECC or DSA key.
authorLudovic Courtès <ludo@gnu.org>
Wed, 19 Mar 2014 20:40:10 +0000 (21:40 +0100)
committerLudovic Courtès <ludo@gnu.org>
Wed, 19 Mar 2014 20:40:10 +0000 (21:40 +0100)
commit32a1eb802519179eab8ff687e73f26edab28922f
tree53ea24d789fffa2a4968a96dcf0313713834b33a
parent0f4139e97eaaf590c81f71fb42dff3d47ce60de3
pk-crypto: Use RFC6979 when signing with an ECC or DSA key.

* guix/pk-crypto.scm (bytevector->hash-data): Add #:key-type parameter.
  Use the 'pkcs1' flag when KEY-TYPE is 'rsa', and 'rfc6979' when
  KEY-TYPE is 'ecc' or 'dsa'.
  (key-type): New procedure.
* guix/scripts/authenticate.scm (read-hash-data): Add 'key-type'
  parameter.  Pass it to 'bytevector->hash-data'.  Adjust caller
  accordingly.
* tests/pk-crypto.scm (%ecc-key-pair): New variable.
  ("key-type"): New test.
  ("sign + verify"): Pass #:key-type to 'bytevector->hash-data'.
  ("sign + verify, Ed25519"): New test.
guix/pk-crypto.scm
guix/scripts/authenticate.scm
tests/pk-crypto.scm