The original data produced by the Shuttle Radar Topography Mission (SRTM) tend to have an abundance of voids in mountainous areas where the elevation measurements are missing. In this paper, deep learning models are investigated for restoring SRTM data. To this end, we explore generative adversarial nets, which represent one state of the art family of deep learning models. A conditional generative adversarial network (CGAN) is introduced as the baseline method for filling voids in incomplete SRTM data. The problem regarding shadow violation that possibly arises from the CGAN restored data is investigated. To address this deficiency, shadow geometric constraints based on shadow maps of satellite images are devised. In addition, a shadow constrained conditional generative adversarial network (SCGAN), which incorporates the shadow geometric constraints into the CGAN, is developed. Training the SCGAN model requires both the remote sensing observations (i.e., the original incomplete SRTM data and satellite images) and the ground truth data (i.e., the complete SRTM data, which are manually refined from the incomplete SRTM data with the reference of in-situ measurements). The integration of the multi-source training data enables the SCGAN model to be characterized by comprehensive information including both mountain shape variation and mountain shadow geometry. Experimental results validate the superiority of the SCGAN over the comparison methods, i.e., the interpolation, the convolutional neural network (CNN) and the baseline CGAN, in SRTM data restoration. Keywords: SRTM data restoration, multi-source data, shadow geometric constraints, shadow constrained conditional generative network.