gpgme/lang/cl
Daniel Kahn Gillmor 2557d0ae6f spelling: fix misspellings
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2018-11-08 12:34:27 +07:00
..
.gitignore .gitignore: flesh out rules and add subdirectory-.gitignores. 2012-04-20 16:05:11 +02:00
ChangeLog-2011 Generate the ChangeLog from commit logs. 2011-12-02 11:36:37 +01:00
gpgme-grovel.lisp cl: Add missing file 2018-10-12 09:05:41 +02:00
gpgme-package.lisp cl: Several fixes 2018-10-12 09:02:18 +02:00
gpgme.asd.in cl: Several fixes 2018-10-12 09:02:18 +02:00
gpgme.lisp spelling: fix misspellings 2018-11-08 12:34:27 +07:00
Makefile.am cl: Several fixes 2018-10-12 09:02:18 +02:00
README cl: Several fixes 2018-10-12 09:02:18 +02:00

Common Lisp Support for GPGME
-----------------------------

Requirements:

ASDF             Packaging Support
CFFI             Foreign Function Interface
trivial-garbage  Finalizers
gpg-error        GPG Error Codes

Use with:

> (asdf:load-system "gpgme")


Examples
--------

(with-open-file (out "/tmp/myout"
                     :direction :output
                     :if-exists :supersede
                     :element-type '(unsigned-byte 8))
  (with-context (ctx)
    (setf (armorp ctx) t)
    (op-export ctx "DEADBEEF" out)))

(with-context (ctx)
  (with-output-to-string (out)
    (setf (armorp ctx) t)
    (op-export ctx "McTester" out)))

(gpgme:with-context (ctx :armor t)
  (with-output-to-string (out)
    (gpgme:op-export ctx "McTester" out)))

(gpgme:with-context (ctx :armor t)
  (let ((recipient1 (gpgme:get-key ctx "DEADBEEF"))
        (recipient2 (gpgme:get-key ctx "Alice"))
        (message "Hello, world!"))
    (with-output-to-string (out)
      (with-input-from-string (in message)
        (gpgme:op-encrypt ctx (vector recipient1 recipient2) in out)))))

(gpgme:with-context (ctx :armor t)
  (let ((message "Hello, world!"))
    (with-output-to-string (out)
      (with-input-from-string (in message)
        (gpgme:op-sign ctx in out)))))


TODO
----

* When GPGME defines macros for include cert values -2, -1, 0 and 1,
  define lisp macros for them as well.

*