I have Landscape installed with a self-signed certificate and my own Certificate Authority. I have the CA certificate installed in my browser, and I can access the Landscape website at https://landscape.sahfos.dev/ without TLS issues.
On a client machine, geoserver.sahfos.dev, I have the CA cert installed into /etc/ssl/certs/, and hashed, and
$ openssl s_client -CApath /etc/ssl/certs/ -connect landscape.sahfos.dev:443
...
Verify return code: 0 (ok)
works, as does
$curl https://landscape.sahfos.dev/message-system
Landscape message server
However,
$ sudo landscape-config --computer-title "Geoserver.sahfos.dev" \
--account-name standalone \
--url https://landscape.sahfos.dev/message-system \
--ping-url http://landscape.sahfos.dev/ping --silent
fails.
$ sudo tail -n 12 /var/log/landscape/broker.log
2016-05-05 16:48:41,817 INFO [MainThread] Starting urgent message exchange with https://landscape.sahfos.dev/message-system.
2016-05-05 16:48:41,822 ERROR [PoolThread-twisted.internet.reactor-1] Error contacting the server at https://landscape.sahfos.dev/message-system.
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/landscape/broker/transport.py", line 71, in exchange
message_api)
File "/usr/lib/python2.7/dist-packages/landscape/broker/transport.py", line 45, in _curl
headers=headers, cainfo=self._pubkey, curl=curl))
File "/usr/lib/python2.7/dist-packages/landscape/lib/fetch.py", line 109, in fetch
raise PyCurlError(e.args[0], e.args[1])
PyCurlError: Error 77:
2016-05-05 16:48:41,822 INFO [MainThread] Message exchange failed.
2016-05-05 16:48:41,823 INFO [MainThread] Message exchange completed in 0.01s.
That error 77 indicates a problem with the certificate chain, yet curl doesn't have a problem itself.
Does anybody understand why the client can't establish a secure link to the server?
Never mind. I'm trying to do this the hard way. Simply adding the certificate file to
/etc/landscape/client.conf
works:as in https://help.landscape.canonical.com/LDS/QuickstartDeployment16.03, rather than adding the certificate itself with base64 encoding as suggested at https://help.landscape.canonical.com/LDS/Installation (which also suggests using the non-existent
bootstrap.conf
file.