Thanks David for spotting this will raise RC4 with a fix

> On 2 Oct 2026, at 09:56, David Jacot <[email protected]> wrote:
> 
> Hi Omnia,
> 
> Thanks again for running the release.
> 
> While verifying RC3, I found an issue with the signatures of the Maven
> artifacts. The source and binary artifacts are fine, as Bill reported,
> but most of the Maven artifacts cannot be verified with gpg. Here is how
> to reproduce it.
> 
> Setup:
> 
>  curl -sO https://downloads.apache.org/kafka/KEYS
>  gpg --import KEYS
>  D=https://dist.apache.org/repos/dist/dev/kafka/4.4.0-rc3
>  M=https://repository.apache.org/content/groups/staging/org/apache/kafka
> 
> 1) Binary tarball (dist): OK
> 
>  curl -sO $D/kafka_2.13-4.4.0.tgz
>  curl -sO $D/kafka_2.13-4.4.0.tgz.asc
>  gpg --verify kafka_2.13-4.4.0.tgz.asc kafka_2.13-4.4.0.tgz
> 
>  gpg: Signature made Tue Sep 29 14:24:00 2026 CEST
>  gpg:                using RSA key 1817905E3B2708B11A24B88E9AFA6F66CC8C3534
>  gpg: Good signature from "Omnia Ibrahim <[email protected]>" [unknown]
>  gpg: Signature notation: manu=2,2.5+1.12,0,3
>  gpg: WARNING: This key is not certified with a trusted signature!
>  gpg:          There is no indication that the signature belongs to the owner.
>  Primary key fingerprint: 1817 905E 3B27 08B1 1A24  B88E 9AFA 6F66 CC8C 3534
> 
> 2) streams-quickstart-java (Maven staging): OK
> 
>  curl -sO $M/streams-quickstart-java/4.4.0/streams-quickstart-java-4.4.0.jar
>  curl -sO 
> $M/streams-quickstart-java/4.4.0/streams-quickstart-java-4.4.0.jar.asc
>  gpg --verify streams-quickstart-java-4.4.0.jar.asc
> streams-quickstart-java-4.4.0.jar
> 
>  gpg: Signature made Tue Sep 29 16:26:10 2026 CEST
>  gpg:                using RSA key 1817905E3B2708B11A24B88E9AFA6F66CC8C3534
>  gpg: Good signature from "Omnia Ibrahim <[email protected]>" [unknown]
>  gpg: Signature notation: manu=2,2.5+1.12,0,3
>  gpg: WARNING: This key is not certified with a trusted signature!
>  gpg:          There is no indication that the signature belongs to the owner.
>  Primary key fingerprint: 1817 905E 3B27 08B1 1A24  B88E 9AFA 6F66 CC8C 3534
> 
> 3) kafka-clients (Maven staging): FAILS
> 
>  curl -sO $M/kafka-clients/4.4.0/kafka-clients-4.4.0.jar
>  curl -sO $M/kafka-clients/4.4.0/kafka-clients-4.4.0.jar.asc
>  gpg --verify kafka-clients-4.4.0.jar.asc kafka-clients-4.4.0.jar
> 
>  gpg: Signature made Tue Sep 29 16:20:08 2026 CEST
>  gpg:                using RSA key 24E094AAF3FE292C
>  gpg: Can't check signature: No public key
> 
> The difference is the key used to sign. Your key in KEYS has two parts:
> 
>  pub   rsa4096/9AFA6F66CC8C3534 2026-08-21 [SC] [expires: 2028-08-20]
>        1817905E3B2708B11A24B88E9AFA6F66CC8C3534
>  uid                 [ unknown] Omnia Ibrahim <[email protected]>
>  sub   rsa4096/24E094AAF3FE292C 2026-08-21 [E] [expires: 2028-08-20]
>        DDCA6FE8A67A444DD16D35A824E094AAF3FE292C
> 
> The tarball and streams-quickstart-java are signed with the primary key
> (9AFA6F66CC8C3534, flagged [SC], so it is allowed to sign).
> kafka-clients is signed with the subkey 24E094AAF3FE292C, which is
> encryption-only ([E]). gpg only accepts signatures made by keys that are
> allowed to sign, hence "No public key" even though the subkey is in
> KEYS.
> 
> It looks like the artifacts published by Gradle picked up the wrong key.
> I checked 13 of them, including kafka-clients, kafka-streams,
> kafka_2.13, kafka-server and connect-runtime, and all are signed with
> the subkey. Only streams-quickstart and streams-quickstart-java, which
> are published with mvn, are signed with the primary key. For reference,
> I verified a few recent releases (4.2.x and 4.3.x) and they all used the
> same key to sign the Maven artifacts and the source and binary
> artifacts.
> 
> Best,
> David

Reply via email to