Can't update subkey expiration on Nitrokey Start [Solved]


My subkeys stored on my Nitrokey Start have expired and I have not been able to get the updated expiration dates to stick on the smartcard. I’ve updated the expiration dates with gpg --quick-set-expire <master key fp> 1y <subkey fps> and then gpg --card-status shows the updated expiration dates, but if I plug the start into another machine it still shows the old expiration date and gpg commands fail saying they’re expired.

I’ve also tried keytocard from the edit-key menu and I get an unusable secret key error, even though the secret key has been successfully imported.

Am I doing this process wrong? The only way I’ve been able to get the subkeys usable again is to export the public key and reimport it on every machine I use the smartcard on, but it seems like I should be able to update the actual keys on the device itself.


Hi @algebro!

Expiration dates are stored in the public key only, hence the need to update on the each installation you are using. The private key contains minimal metadata only, if any.
In case you have uploaded your public key to key servers, update should be as easy as:

gpg2 --refresh-keys

That makes sense, thanks for the explanation.