summaryrefslogtreecommitdiff
path: root/tests/pk-crypto.scm
Commit message (Collapse)AuthorAgeFilesLines
* authenticate: Allow signatures with binary data to be written to stdout.Ludovic Courtès2014-04-221-1/+1
| | | | | | | | | | | | Fixes <http://bugs.gnu.org/17312>. * guix/scripts/authenticate.scm (guix-authenticate): Add calls to 'set-port-encoding!' and 'set-port-conversion-strategy!'. Wrap body in 'with-fluids' form that sets '%default-port-encoding' and '%default-port-conversion-strategy'. * tests/guix-authenticate.sh: Add test. * tests/pk-crypto.scm ("hash corrupt due to restrictive locale encoding"): Add reference to bug.
* pk-crypto: Use ISO-8859-1 for strings passed to 'gcry_sexp_new'.Ludovic Courtès2014-04-221-0/+24
| | | | | | | * guix/pk-crypto.scm (string->canonical-sexp): Pass "ISO-8859-1" as the 2nd argument to 'string->pointer'. * tests/pk-crypto.scm ("version"): New test. ("hash corrupt due to restrictive locale encoding"): New test.
* pk-crypto: Don't use Ed25519 when libgcrypt is older than 1.6.0.Ludovic Courtès2014-03-201-0/+2
| | | | | | | * guix/pk-crypto.scm (gcrypt-version): New procedure. * guix/scripts/archive.scm (%key-generation-parameters): New variable. (%options) <generate-key>: Use it. * tests/pk-crypto.scm ("sign + verify, Ed25519"): Skip if using gcrypt < 1.6.0.
* pk-crypto: Use RFC6979 when signing with an ECC or DSA key.Ludovic Courtès2014-03-191-2/+38
| | | | | | | | | | | | | | * 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.
* pk-crypto: Fix 'canonical-sexp->sexp' for atoms.Ludovic Courtès2013-12-301-1/+4
| | | | | | * guix/pk-crypto.scm (canonical-sexp->sexp): Add hack to extract an atom's buffer. * tests/pk-crypto.scm ("sexp->canonical-sexp->sexp"): Add sample.
* pk-crypto: Work around Libgcrypt bug <https://bugs.g10code.com/gnupg/issue1594>.Ludovic Courtès2013-12-301-0/+12
| | | | | | | * guix/pk-crypto.scm (canonical-sexp-fold): Call 'nth-data' before 'nth' to work around <https://bugs.g10code.com/gnupg/issue1594>. * tests/pk-crypto.scm ("https://bugs.g10code.com/gnupg/issue1594"): New test.
* pk-crypto: Add canonical-sexp to sexp conversion procedures.Ludovic Courtès2013-12-291-0/+46
| | | | | | | * guix/pk-crypto.scm (canonical-sexp-fold, canonical-sexp->sexp, sexp->canonical-sexp): New procedures. * tests/pk-crypto.scm ("canonical-sexp->sexp", "sexp->canonical-sexp->sexp"): New tests.
* pk-crypto: Add 'canonical-sexp-length' and related procedures.Ludovic Courtès2013-12-291-0/+12
| | | | | | | * guix/pk-crypto.scm (canonical-sexp-length, canonical-sexp-null?, canonical-sexp-list?): New procedures. * tests/pk-crypto.scm ("canonical-sexp-length", "canonical-sexp-list?"): New tests.
* pk-crypto: 'canonical-sexp-nth-data' returns a symbol for "tokens".Ludovic Courtès2013-12-291-2/+3
| | | | | | | | | | * guix/pk-crypto.scm (token-string?): New procedure. (canonical-sexp-nth-data): Return a symbol when the element is a "token", and a bytevector otherwise. (latin1-string->bytevector): Remove. (hash-data->bytevector): Adjust accordingly. * tests/pk-crypto.scm ("canonical-sexp-nth"): Adjust accordingly. Add octet string example.
* pk-crypto: Rename 'gcry-sexp' to 'canonical-sexp'.Ludovic Courtès2013-12-291-23/+23
| | | | | | | * guix/pk-crypto.scm: Rename procedures, variables, etc. from 'gcry-sexp' to 'canonical-sexp'. Add comment with references. * guix/scripts/authenticate.scm, tests/pk-crypto.scm: Adjust accordingly.
* build: Adjust pk-crypto tests to Libgcrypt 1.5.3.Ludovic Courtès2013-12-211-3/+11
| | | | | | | | Reported by Andreas Enge <andreas@enge.fr>. * tests/pk-crypto.scm ("string->gcry-sexp->string"): Remove "#C0FFEE#" from SEXPS. ("gcry-sexp-nth"): Start at index 1.
* pk-crypto: Add a few sexp utility procedures.Ludovic Courtès2013-12-201-0/+42
| | | | | | | | * guix/pk-crypto.scm (gcry-sexp-car, gcry-sexp-cdr, gcry-sexp-nth, gcry-sexp-nth-data, dereference-size_t, latin1-string->bytevector, hash-data->bytevector): New procedures. * tests/pk-crypto.scm ("gcry-sexp-car + cdr", "gcry-sexp-nth", "gcry-sexp-nth-data", "bytevector->hash-data->bytevector"): New tests.
* Add (guix pk-crypto).Ludovic Courtès2013-12-201-0/+106
* guix/pk-crypto.scm, tests/pk-crypto.scm: New files. * Makefile.am (MODULES, SCM_TESTS): Add them.