(validTo.Minute - validFrom.Minute) / minutes)) - what was that for? 
Minutes are not counted from year zero, but from current hour. Imagine the situation where it is issued on 5:55 till 6:05. And why do divide by 10 after?