Wow, this question is old! My suggestion is simply that it is a version of swearing that you are telling the truth by making the sign of the (Christian) cross over your heart, and that you hope (in the old-fashioned meaning of the word - as in "in sure and certain hope of resurrection"- to die if you are telling a lie.