Do you get this result on Linux? Type always comes from the file program, but Mime Type may also come from Glib and looks like it's the one who gets it wrong.
There is no way to match by that type string and Glib is used if Vifm is compiled with its support. You can match by both file name and MIME type to reduce false positive results:
fileviewer {*.pub}<application/vnd.ms-publisher> ssh-keygen -l -f %c
Maybe there should be an option to specify priority of MIME type sources instead of hard-coding Glib to be the first one.