Consider trying to export a public key with a subkey, where that subkey's expiration date or other configuration settings have been updated:
$ gpg --export-options export-minimal,export-clean --export AB9942E6D4A4CFC3412620A749FC7012A5DE03AE | gpg --list-packets | grep ^: :public key packet: :user ID packet: "REDACTED <REDACTED>" :signature packet: algo 1, keyid 49FC7012A5DE03AE :public sub key packet: :signature packet: algo 1, keyid 49FC7012A5DE03AE :signature packet: algo 1, keyid 49FC7012A5DE03AE :signature packet: algo 1, keyid 49FC7012A5DE03AE $
both export-clean and export-minimal should drop two of the three subkey binding signatures, and only export the most relevant one.
The most relevant binding signature for a given subkey should be (first match wins):
- the most recent cryptographically-valid revocation signature, or
- if signing-capable, the most recent cryptographically-valid signature with a cryptographically-valid cross-sig, or
- if not signing-capable, the most recent cryptographically-valid signature
Of course, if there is no match at all, the subkey should not be emitted at all anyway in these modes.