Christ forgives; Christ changes. They act in His Name.
Peter denied Jesus three times, yet he walked on water and was the foundation of the church. Another apostle, Judas, betrayed Jesus.
Clearly Jesus forgave Peter. And Jesus would have forgiven Judas if Judas would have asked for forgiveness (instead he made matters worse by killing himself).
Jesus himself said to Peter, in particular, and his followers that you should forgive your brother "seventy times seven", which is meant to signify a large number at that time.
But that does not mean the church should allow people who are known offenders to have access to innocent children.