Update: after a lot of discussion with Mitch Burton on the Landscape team, he was able to demonstrate this working with a self-signed certificate. We think that this may actually not be strictly an issue with the self-signed SSL, but rather that the name in the cert is not an FQDN, and instead is just the bare hostname.
Upon further testing myself, I swapped the hostname on my test instance from landscape-2310-jammy to landscape-2310-jammy.lxd just as a test. I then updated my /etc/hosts file, the certificates configured in Apache, and imported the newly generated cert into ca-certificates. After this dput worked just fine.
dput lds:ubuntu/jammy/upload hello.changes
D: Splitting host argument out of lds:ubuntu/jammy/upload.
D: Setting host argument.
Checking signature on .changes
gpg: /root/hello.changes: Valid signature from 5E1E964200F3EA3D
Uploading to lds (via https to landscape-2310-jammy.lxd):
Uploading hello_2.10-2ubuntu4+esm1_amd64.deb: done.
Uploading hello.changes: done.
Successfully uploaded packages.
This seems to confirm that the issue is not necessarily with dput directly, but in how python's urllib is checking the domain/cert on the connection. This may be something that can be worked around in dput to allow for a bare hostname that is not an FQDN, but either way figured it would be relevant to add this information.
Update: after a lot of discussion with Mitch Burton on the Landscape team, he was able to demonstrate this working with a self-signed certificate. We think that this may actually not be strictly an issue with the self-signed SSL, but rather that the name in the cert is not an FQDN, and instead is just the bare hostname.
Upon further testing myself, I swapped the hostname on my test instance from landscape- 2310-jammy to landscape- 2310-jammy. lxd just as a test. I then updated my /etc/hosts file, the certificates configured in Apache, and imported the newly generated cert into ca-certificates. After this dput worked just fine.
dput lds:ubuntu/ jammy/upload hello.changes
D: Splitting host argument out of lds:ubuntu/ jammy/upload. changes: Valid signature from 5E1E964200F3EA3D 2310-jammy. lxd): 10-2ubuntu4+ esm1_amd64. deb: done.
D: Setting host argument.
Checking signature on .changes
gpg: /root/hello.
Uploading to lds (via https to landscape-
Uploading hello_2.
Uploading hello.changes: done.
Successfully uploaded packages.
This seems to confirm that the issue is not necessarily with dput directly, but in how python's urllib is checking the domain/cert on the connection. This may be something that can be worked around in dput to allow for a bare hostname that is not an FQDN, but either way figured it would be relevant to add this information.