wireless-regdb: Fix regulatory.bin signing with new M2Crypto
Ben Hutchings <[email protected]> Mon, 16 Feb 2026 20:58:47 +0100
| Newsgroups | org.infradead.lists.wireless-regdb,org.kernel.vger.linux-wireless |
|---|---|
| Message-ID | <[email protected]> |
--uNzBFFrzIRlQrca1 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In M2Crypto version 0.45.1, the default hash algorithm for M2Crypto.RSA.sign() changed from SHA-1 to SHA-256. Since the signature on regulatory.bin uses a SHA-1 hash, db2bin.py generates invalid signatures for regulatory.bin if a recent version of M2Crypto is installed. I reported this incompatible change as <https://todo.sr.ht/~mcepl/m2crypto/389>. There is an obvious workaround, which is to add an explicit algo=3D'sha1' parameter. This works with old and new versions of M2Crypto. Signed-off-by: Ben Hutchings <[email protected]> --- --- a/db2bin.py +++ b/db2bin.py @@ -131,13 +131,13 @@ if len(sys.argv) > 3: key =3D RSA.load_key(sys.argv[3]) hash =3D hashlib.sha1() hash.update(output.getvalue()) - sig =3D key.sign(hash.digest()) + sig =3D key.sign(hash.digest(), algo=3D'sha1') # write it to file siglen.set(len(sig)) # sign again hash =3D hashlib.sha1() hash.update(output.getvalue()) - sig =3D key.sign(hash.digest()) + sig =3D key.sign(hash.digest(), algo=3D'sha1') =20 output.write(sig) else: --uNzBFFrzIRlQrca1 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEErCspvTSmr92z9o8157/I7JWGEQkFAmmTdvIACgkQ57/I7JWG EQkZyA/9FkM2E1/bNCioIRzrNJn2krbNJADmYPYVC/VOVMUgaksQr9YTBmx8amMf fsZlIP3vLH5OTNylhy4DowK4jgsoJrH8lexnE6qfjJ6PjfKKhmZpXn0tnb1JAcD2 owEDoFy5zaLhbsF+1zNXaxAgh288ZDo8OQbcpAr/KelPltvu0WcwVlT5QmM8PNT0 iFBb8OVbsZxVnQdMG6yax6q0OnzyrNDeZJvXnWJQwv0WfLHahO4Yhv29d1IfVZJ/ prWOQFjFZSi9k7exOYK5So35jlw0xKAsTE5Je4j6DD6kWNLfsXXDD5eelMWSF0T9 e7cFE3+oenS6YrMoxCTrbwSkIUaDBspGH8DE6jpQ5YgpsUgX2t2xuBpwBrMK1GKa NokpapAHa91Lj8t4ZyqeXagVQlbIeSNgZNOC6NCvP3hJnPm/9fh6C1WD6WlUa7Ag XtVh23sQUpbFxpD57R1vSRGoGN35OseW4c5L2i9dB9O9Gn90bCmGNWhx02G9C/QI JE4lHrRidAAY+NVHn21wCymr+ucCyW/Q9WRTrAd+GzVgusGCJQfeyfg0vbDSHJQ1 Urq+yLBa82FAiElmf/aMPKru6lUfYrW2BT/rn3LfeTjQQZk+iFfGb3torxiPOGMY HWimOkEmqUcKvIBsqPv8X5mUFrJeNwI0dMFBSFQqFH1gsqqXA9c= =+UIr -----END PGP SIGNATURE----- --uNzBFFrzIRlQrca1--