I would like to calculate the distances between N (an arbitrary number, but usually <50-100) geographical points (e.g. distance between points a, b, c, d, e, that is to say between a and b, a and c, a and d and so forth) in km (via latitude and longitude) and to draw a 2D bitmap map (PNG, JPG) of it all with the straight-line distances (in km) shown near the lines that represent them.
I'd prefer an online tool, but a FOSS GIS package is also an option. I'm talking about any geographical points on planet Earth. The map should be either topographic, satellite imagery, or combined (like Google Maps'/Google Earth's), either 2D or 3D. The inclusion of basic labels is good to have (country names, seas, oceans, rivers, lakes, dams, mountains, settlements, etc.).
I've found this wonderful tool: http://www.gpsvisualizer.com/calculators, but I'm not sure what projection it uses and if its calculated distances can be deemed rather (approximately) correct.
I know that Google Maps and Google Earth offer measurements between an N number of geographical points, but I haven't discovered how to set the points themselves in terms of latitude and longitude, you have to drag dots to your desired locations and I'm not sure how to see their longitude and latitude.
Can I do that using http://www.OpenStreetMap.org?
The topographic or satellite imagery level of detail of the map is not expected to be very high.