[rescue] S/MIME and mutt
Grant Taylor
rescue at gtaylor.tnetconsulting.net
Mon Jul 21 00:49:53 UTC 2025
On 7/18/25 8:53 AM, Phil Stracchino via rescue wrote:
> mutt correctly detects, extracts and processes the signature, but is
> unable to validate the certificate.
My supposition based on other parts of the thread and my own testing is
that something in the certificate chain between your frequent
correspondent's S/MIME leaf certificate and a root CA that your system
trusts is missing.
Pursuant to this thread, I was able to successfully do an `openssl smime
-verify ...` for my own message to myself.
However an `openssl validate` on the cert extracted by the `openssl
smime -verify ...` command initially failed an `openssl validate ...`
command.
When I looked at my S/MIME certificate, extracted by the `openssl smime
-verify ...` command, with the following `openssl x509 ...` command, I
found that I was missing an intermediate certificate in my
/etc/ssl/certs folder.
openssl x509 -noout -subject -subject_hash -ext subjectAltName
-dates -serial -issuer -issuer_hash -in test.pem
I ran the following command and found that I didn't have the requisite
intermediate certificate:
find /etc/ssl/certs -iname '*e423f384*'
So I went out to my S/MIME provider to find and download their
intermediate certificate.
I did already have the root certificate that signed the intermediate
certificate.
The same x509 command thereon showed that it had the requisite hash;
e423f384. So I copied the file to my /etc/ssl/certs directory and
created the sym-link using the hash name; e423f384.0 to the certificate
I just installed.
After putting the intermediate certificate in place, the `openssl
validate ...` command successfully validated my S/MIME certificate.
Some comments on my observations about `openssl smime -verify` vs
`openssl verify`.
It seems as if `openssl smime -verify` checks the syntax & signature of
the email using the certificate in the signature.
Conversely it seems as if `openssl verify` checks to see if the
certificate has a chain up to a known & trusted root certificate.
I'm not surprised that my system didn't have the requisite intermediate
certificate in /etc/ssl/certs as I don't do much with S/MIME at the
command line or via OpenSSL directly. Rather just about all of the
S/MIME work that I do is in my email clients. And my email clients have
their own set of trusted root and intermediate certificate store.
--
Grant. . . .
More information about the rescue
mailing list