Previous: OpenPGP Authentication Guile Example, Up: Guile Examples [Contents][Index]
The following example provides a simple way of importing
“ASCII-armored” OpenPGP keys from files, using the
import-openpgp-certificate
and import-openpgp-private-key
procedures.
(use-modules (srfi srfi-4) (gnutls)) (define (import-key-from-file import-proc file) ;; Import OpenPGP key from FILE using IMPORT-PROC. ;; Prepare a u8vector large enough to hold the raw ;; key contents. (let* ((size (stat:size (stat path))) (raw (make-u8vector size))) ;; Fill in the u8vector with the contents of FILE. (uniform-vector-read! raw (open-input-file file)) ;; Pass the u8vector to the import procedure. (import-proc raw openpgp-certificate-format/base64))) (define (import-public-key-from-file file) (import-key-from-file import-openpgp-certificate file)) (define (import-private-key-from-file file) (import-key-from-file import-openpgp-private-key file))
The procedures import-public-key-from-file
and
import-private-key-from-file
can be passed a file name. They
return an OpenPGP public key and private key object, respectively
(see OpenPGP key objects).