I always get: The request signature we calculated does not match the signature you provided. Check your key and signing method.
I am using this:
curl --location --request PUT 'http://172.22.24.93:9000/myBucket?lifecycle' \
--header 'Host: 172.22.24.93:9000' \
--header 'Date: Wed, 11 Jun 2025 20:52:18 +0000' \
--header 'Content-Type: application/xml' \
--header 'Authorization: AWS minioadmin:Gz+62Pfx4dSUwwwZj1XbMxjXENI=' \
--header 'Content-MD5: Na+lSw8ZIhccXa7BZy5wjQ==' \
--header 'Content-Length: 644' \
--data-binary '@/path/lifecycle.xml'