News weekly Der Spiegel said the man, who was codenamed Sinbad and seen as an important source on the Iranian arms programme by Germany's intelligence service, the BND, was sentenced by Berlin's superior court of justice to three years in prison.
No one at the court could be reached for comment.
Der Spiegel said Sinbad had received more than €1 million ($1.4 million) over the years from the BND for his services but was at the same time selling high-tech equipment to a company believed to be helping Tehran produce Shahab missiles.
He was arrested last October. The magazine said that German justice officials, the defendant and the BND agreed to wrap up the trial quickly and discreetly.
In return, Sinbad has been ordered to leave Germany and serve his sentence abroad.
Der Spiegel said German intelligence experts were still unsure if he had been working as a double agent and delivering information to Germany with the knowledge of the Iranian government.