mamkさんのツッコミにあるように、ひとつの鍵に複数のユーザIDが設定されている場合にはそちらのユーザIDもチェックするようにしました。
GnuPGはプログラムから呼ばれることも考慮されているので標準出力の形式がしっかりしているのですが、PGPはその辺が考えられていないのでパースするのが面倒です(本当にすべてのケースに対応できているのかも怪しいですし)。プログラムから呼び出すときにはSDKを使えということなんでしょうね。