Setting up Mercurial DVCS via HTTPS

Common problem for novice mercurial users is not getting “fingerprints” for their HTTPS repository servers.

It’s usually recognized by getting next error when trying to push/pull from protected HTTPS repository:

abort: error: _ssl.c:507: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

To fix this issue just get a SHA fingerprint and store it in your configuration file.

Windows systems

For GUI configuration (here example from TortoiseHG).

  • Press View>Syncronize.
  • Make sure you have https in protocol selection box. Then press yellow lock button

  • Now select “Verify with stored host fingerprint (good)” and press Query to retrieve and save server SHA fingerprint.
  • Ensure correct username and password in User Authentication fields.
  • Save settings.

Alternative way, manual configuration edit mercurial.ini configuration file.


[hostfingerprints]
dev.xdevs.com = 9d:d7:a7:37:47:f1:86:52:a4:05:1b:47:23:ce:1e:3d:6f:60:a4:f0

[auth]
dev.xdevs.com.prefix = dev.xdevs.com
dev.xdevs.com.username = your_username_here
dev.xdevs.com.password = your_password_here

Now push and pull operations should be working just fine.

Author: Ilya Tsemenko
Created: Sept. 17, 2014, 9:40 p.m.
Modified: Sept. 17, 2014, 9:40 p.m.

References