Function: epa--show-key
epa--show-key is a byte-compiled function defined in epa.el.gz.
Signature
(epa--show-key KEY)
Source Code
;; Defined in /usr/src/emacs/lisp/epa.el.gz
(defun epa--show-key (key)
(let* ((primary-sub-key (car (epg-key-sub-key-list key)))
(entry (assoc (epg-sub-key-id primary-sub-key)
epa-key-buffer-alist))
(inhibit-read-only t)
buffer-read-only
pointer)
(unless entry
(setq entry (cons (epg-sub-key-id primary-sub-key) nil)
epa-key-buffer-alist (cons entry epa-key-buffer-alist)))
(unless (and (cdr entry)
(buffer-live-p (cdr entry)))
(setcdr entry (generate-new-buffer
(format "*Key*%s" (epg-sub-key-id primary-sub-key)))))
(set-buffer (cdr entry))
(epa-key-mode)
(setq-local epa-key key)
(erase-buffer)
(setq pointer (epg-key-user-id-list key))
(while pointer
(if (car pointer)
(insert " "
(if (epg-user-id-validity (car pointer))
(char-to-string
(car (rassq (epg-user-id-validity (car pointer))
epg-key-validity-alist)))
" ")
" "
(if (stringp (epg-user-id-string (car pointer)))
(epg-user-id-string (car pointer))
(epg-decode-dn (epg-user-id-string (car pointer))))
"\n"))
(setq pointer (cdr pointer)))
(setq pointer (epg-key-sub-key-list key))
(while pointer
(insert " "
(if (epg-sub-key-validity (car pointer))
(char-to-string
(car (rassq (epg-sub-key-validity (car pointer))
epg-key-validity-alist)))
" ")
" "
(epg-sub-key-id (car pointer))
" "
(format "%dbits"
(epg-sub-key-length (car pointer)))
" "
(cdr (assq (epg-sub-key-algorithm (car pointer))
epg-pubkey-algorithm-alist))
"\n\tCreated: "
(condition-case nil
(format-time-string "%Y-%m-%d"
(epg-sub-key-creation-time (car pointer)))
(error "????-??-??"))
(if (epg-sub-key-expiration-time (car pointer))
(format (if (time-less-p nil
(epg-sub-key-expiration-time
(car pointer)))
"\n\tExpires: %s"
"\n\tExpired: %s")
(condition-case nil
(format-time-string "%Y-%m-%d"
(epg-sub-key-expiration-time
(car pointer)))
(error "????-??-??")))
"")
"\n\tCapabilities: "
(mapconcat #'symbol-name
(epg-sub-key-capability (car pointer))
" ")
"\n\tFingerprint: "
(epg-sub-key-fingerprint (car pointer))
"\n")
(setq pointer (cdr pointer)))
(goto-char (point-min))
(pop-to-buffer (current-buffer))))