The fact is that Libby was prosecuted following an investigation of an action that did not constitute a crime under our laws. The special prosecutor pretended to be looking for the person who had "leaked" Valerie Plame's name to the media ... He knew the identity of that person from the beginning of his investigation (Richard Armitage). Patrick Fitzgerald packed the Beltway jury with people not exactly in love with George Bush, and then set Libby up as the symbol of the Bush Administration.
And besides that, Valerie Plame was not in a covert agent status at the time that her name was allegedly leaked. She was working a desk job at CIA headquarters in Langley, VA. Libby wasn't even convicted of "leaking Plame's identity". Fitzgerald knew he didn't have a case for that, so rather than look stupid and eat crow for wasting taxpayer money on a pointless, politically motivated investigation, he came up with perjury charges for Libby.