Lots of folks here recommend evaporust. I tried it once, didn't seem to work for me.
I did not degrease / deoil the part first. Maybe that was the reason I did not have good results. Or maybe I just did not give it enough time.
Some rust solvents also remove blackening. Don't know about evaporust.