Section 1. Any person who voluntarily gives information about any violation of Articles 210, 211, and 212 of the Revised Penal Code; Republic Act Numbered Three Thousand Nineteen, as amended; Section 345 of the Internal Revenue Code and Section 3604 of the Tariff and Customs Code and other provisions of the said Codes penalizing abuse or dishonesty on the part of the public officials concerned; and other laws, rules and regulations punishing acts of graft, corruption and other forms of official abuse; and who willingly testifies against any public official or employee for such violation shall be exempt from prosecution or punishment for the offense with reference to which his information and testimony were given, and may plead or prove the giving of such information and testimony in bar of such prosecution: Provided; that this immunity may be enjoyed even in cases where the information and testimony are given against a person who is not a public official but who is a principal, or accomplice, or accessory in the commission of any of the above-mentioned violations: Provided, further, that this immunity may be enjoyed by such informant or witness notwithstanding that he offered or gave the bribe or gift to the public official or his accomplice for such gift or bribe-giving; and Provided, finally, that the following conditions concur:

  1. The information must refer to consummated violations of any of the above-mentioned provisions of law, rules and regulations;

  2. The information and testimony are necessary for the conviction of the accused public officer;

  3. Such information and testimony are not yet in the possession of the State;

  4. Such information and testimony can be corroborated on its material points; and

  5. The informant or witness has not been previously convicted of a crime involving moral turpitude.