Hi
I have been using `gpgsm` with X509 certificates for more than a decade. A few days ago, however, I had to renew one of those certificates. For a short while everything behaved as expected: signing messages in `gnus` continued to work. But after rebooting my machine the process abruptly failed, producing the message --8<---------------cut here---------------start------------->8--- debugger entered--Lisp error: (error "No sign key for [email protected]") --8<---------------cut here---------------end--------------->8--- Over the years several certificates have accumulated for the address `[email protected]`. I therefore set the default key in my `gpgsm` configuration to the key id of the newly issued certificate. With that setting in place, the command --8<---------------cut here---------------start------------->8--- gpgsm --sign --armor test.txt --8<---------------cut here---------------end--------------->8--- works as intended: it signs the file using the new X509 certificate without the need to specify a particular key. However, when I enable debugging by setting `debug-on-error` to `t`, I obtain the following output: Any idea what's wrong --8<---------------cut here---------------start------------->8--- Debugger entered--Lisp error: (error "No sign key for [email protected]") signal(error ("No sign key for [email protected]")) error("No %s key for %s" sign "[email protected]") #f(compiled-function (name) #<bytecode -0x55399866c014cec>)("[email protected]") mapcar(#f(compiled-function (name) #<bytecode -0x55399866c014cec>) ("[email protected]" "<[email protected]>")) mml-secure-select-preferred-keys(#s(epg-context :protocol CMS :program "/usr/bin/gpgsm" :home-directory "~/.gnupg" :armor nil :textmode nil :include-certs nil :cipher-algorithm nil :digest-algorithm nil :compress-algorithm nil :passphrase-callback (epa-passphrase-callback-function) :progress-callback nil :edit-callback nil :signers nil :sender nil :sig-notations nil :process nil :output-file nil :result nil :operation nil :pinentry-mode nil :error-output "" :error-buffer nil) ("[email protected]" "<[email protected]>") sign) mml-secure-signers(#s(epg-context :protocol CMS :program "/usr/bin/gpgsm" :home-directory "~/.gnupg" :armor nil :textmode nil :include-certs nil :cipher-algorithm nil :digest-algorithm nil :compress-algorithm nil :passphrase-callback (epa-passphrase-callback-function) :progress-callback nil :edit-callback nil :signers nil :sender nil :sig-notations nil :process nil :output-file nil :result nil :operation nil :pinentry-mode nil :error-output "" :error-buffer nil) ("[email protected]" "<[email protected]>")) mml-secure-epg-sign(CMS (part (sign . "smime") (tag-location . 258) (contents . "\nUwe \n"))) mml-smime-epg-sign((part (sign . "smime") (tag-location . 258) (contents . "\nUwe \n"))) mml-smime-sign((part (sign . "smime") (tag-location . 258) (contents . "\nUwe \n"))) mml-smime-sign-buffer((part (sign . "smime") (tag-location . 258) (contents . "\nUwe \n"))) mml-generate-mime-1((part (sign . "smime") (tag-location . 258) (contents . "\nUwe \n"))) mml-generate-mime(nil nil) message-encode-message-body() message-send-mail(nil) message-send-via-mail(nil) message-send(nil) message-send-and-exit(nil) funcall-interactively(message-send-and-exit nil) call-interactively(message-send-and-exit nil nil) command-execute(message-send-and-exit) --8<---------------cut here---------------end--------------->8---
