(cons (epg--make-sub-key-1 (car lines))
(epg-key-sub-key-list (car keys)))))
((equal (aref (car lines) 0) "uid")
- (setq string (copy-sequence (aref (car lines) 9)))
+ ;; Decode the UID name as a backslash escaped UTF-8 string,
+ ;; generated by GnuPG/GpgSM.
+ (setq string (copy-sequence (aref (car lines) 9))
+ index 0)
(while (string-match "\"" string index)
(setq string (replace-match "\\\"" t t string)
index (1+ (match-end 0))))
(cdr (assq (string-to-char (aref (car lines) 1))
epg-key-validity-alist)))
(if cert
- (epg-dn-from-string string)
+ (condition-case nil
+ (epg-dn-from-string string)
+ (error string))
string))
- (epg-key-user-id-list (car keys))))))
- ((equal (aref (car lines) 0) "fpr")
+ (epg-key-user-id-list (car keys)))))
+ ((equal (aref (car lines) 0) "fpr")
(epg-sub-key-set-fingerprint (car (epg-key-sub-key-list (car keys)))
(aref (car lines) 9)))
((equal (aref (car lines) 0) "sig")
\\([0-9A-Fa-f][0-9A-Fa-f]\\)\\)"
string index)
(if (match-beginning 2)
- (setq string (replace-match "\\2" t t string)
+ (setq string (replace-match "\\2" t nil string)
index (1- (match-end 0)))
(if (match-beginning 3)
(setq string (replace-match (string (string-to-number