(epg-context-set-result-for
        epg-context
        'verify
-       (cons (epg-make-signature 'good
-                                (match-string 1 string)
-                                (match-string 2 string))
+       (cons (epg-make-signature
+             'good
+             (match-string 1 string)
+             (if (eq (epg-context-protocol epg-context) 'CMS)
+                 (condition-case nil
+                     (epg-dn-from-string (match-string 2 string))
+                   (error (match-string 2 string)))
+               (match-string 2 string)))
             (epg-context-result-for epg-context 'verify)))))
 
 (defun epg-status-EXPSIG (process string)
       (epg-context-set-result-for
        epg-context
        'verify
-       (cons (epg-make-signature 'expired
-                                (match-string 1 string)
-                                (match-string 2 string))
+       (cons (epg-make-signature
+             'expired
+             (match-string 1 string)
+             (if (eq (epg-context-protocol epg-context) 'CMS)
+                 (condition-case nil
+                     (epg-dn-from-string (match-string 2 string))
+                   (error (match-string 2 string)))
+               (match-string 2 string)))
             (epg-context-result-for epg-context 'verify)))))
 
 (defun epg-status-EXPKEYSIG (process string)
       (epg-context-set-result-for
        epg-context
        'verify
-       (cons (epg-make-signature 'expired-key
-                                (match-string 1 string)
-                                (match-string 2 string))
+       (cons (epg-make-signature
+             'expired-key
+             (match-string 1 string)
+             (if (eq (epg-context-protocol epg-context) 'CMS)
+                 (condition-case nil
+                     (epg-dn-from-string (match-string 2 string))
+                   (error (match-string 2 string)))
+               (match-string 2 string)))
             (epg-context-result-for epg-context 'verify)))))
 
 (defun epg-status-REVKEYSIG (process string)
       (epg-context-set-result-for
        epg-context
        'verify
-       (cons (epg-make-signature 'revoked-key
-                                (match-string 1 string)
-                                (match-string 2 string))
+       (cons (epg-make-signature
+             'revoked-key
+             (match-string 1 string)
+             (if (eq (epg-context-protocol epg-context) 'CMS)
+                 (condition-case nil
+                     (epg-dn-from-string (match-string 2 string))
+                   (error (match-string 2 string)))
+               (match-string 2 string)))
             (epg-context-result-for epg-context 'verify)))))
 
 (defun epg-status-BADSIG (process string)
       (epg-context-set-result-for
        epg-context
        'verify
-       (cons (epg-make-signature 'bad
-                                (match-string 1 string)
-                                (match-string 2 string))
+       (cons (epg-make-signature
+             'bad
+             (match-string 1 string)
+             (if (eq (epg-context-protocol epg-context) 'CMS)
+                 (condition-case nil
+                     (epg-dn-from-string (match-string 2 string))
+                   (error (match-string 2 string)))
+               (match-string 2 string)))
             (epg-context-result-for epg-context 'verify)))))
 
 (defun epg-status-VALIDSIG (process string)
                (if (aref (car lines) 1)
                    (cdr (assq (string-to-char (aref (car lines) 1))
                               epg-key-validity-alist)))
-               (if (and cert
-                        (not (eq (aref (aref (car lines) 9) 0) ?<)))
-                   (epg-dn-from-string (aref (car lines) 9))
+               (if cert
+                   (condition-case nil
+                       (epg-dn-from-string (aref (car lines) 9))
+                     (error (aref (car lines) 9)))
                  (aref (car lines) 9)))
               (epg-key-user-id-list (car keys)))))
        ((equal (aref (car lines) 0) "fpr")