gpg4win expired code signing cert; please renew.

Ingo Klöcker kloecker at kde.org
Fri Oct 17 22:06:52 CEST 2025


On Freitag, 17. Oktober 2025 12:32:51 Mitteleuropäische Sommerzeit Werner Koch 
via Gnupg-users wrote:
> On Fri, 17 Oct 2025 09:19, have--- said:
> > I reported a real-world cert validation error on a Microsoft platform,
> > of Gpg4win 5 beta.  The latest gpg4win-beta package (369) was
> > published 2025-09-05, two months after cert expiry — thus, **the
> 
> Nope.  Your system is not up to date or something else is wrong at your
> site.  Here is the result on a freshly installed Windows 11 box:

In their original message the OP mentions that the latest gpg4win code signing 
certificate published at
https://gpg4win.org/package-integrity.html
has expired. That's correct. Werner should update the list of gpg4win code 
signing certificates on that page.

What's incorrect is the OP's claim that the *current* gpg4win code signing 
certificate has expired. Werner has demonstrated that the latest Gpg4win beta 
release has been signed with a new valid code signing certificate.

Obviously, the OP didn't check the code signing certificate that was used to 
sign the Gpg4win 5.0.0-beta369 release, but they blindly believed that
https://gpg4win.org/package-integrity.html
wasn't outdated and that Werner somehow managed to use an expired certificate 
for an Authenticode signature. I'm hard-pressed to believe that using an 
expired certificate for creating an Authenticode signature is even possible.

By the way, one doesn't need Microsoft's OS for checking the signature. Using 
Linux it's pretty simple to check the certificate that was used. First we 
extract the signature:
```
$ osslsigncode extract-signature -pem -in gpg4win-5.0.0-beta369.exe \
-out gpg4win-5.0.0-beta369.exe.pem
PE checksum   : 028F186B
Succeeded
```

And then we use openssl to list the certificates:
```
$ openssl pkcs7 -in gpg4win-5.0.0-beta369.exe.pem -print_certs -text
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            27:1d:f9:34:50:4f:8e:38:3b:33:bc:e5
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: C=BE, O=GlobalSign nv-sa, CN=GlobalSign GCC R45 CodeSigning CA 
2020
        Validity
            Not Before: Jun  5 12:43:59 2025 GMT
            Not After : Jun  5 12:43:59 2028 GMT
        Subject: C=DE, ST=Nordrhein-Westfalen, L=Erkrath, O=g10 Code GmbH, 
CN=g10 Code GmbH/emailAddress=code at g10code.com
[...]
```

If I had bothered to track down and download the root CA certificate I could 
have even verified the signature with osslsigncode. I leave this as exercise 
for Mr. have. Maybe this will teach them not to make false claims about 
expired signatures while at the same time telling everybody that they should 
"use PQC *yesterday*".

Regards,
Ingo
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 265 bytes
Desc: This is a digitally signed message part.
URL: <https://lists.gnupg.org/pipermail/gnupg-users/attachments/20251017/22c4ebc2/attachment.sig>


More information about the Gnupg-users mailing list