It all depends on what the stock tire size on your truck was and what the speedo and odo was calibrated to. I think the stock size (on the door panel sticker) is 265/70/16. That means your tire 265/70/17 is larger, making your actual speed higher than the readout....see below:
Stock Tire - 265/70R16********
Section Width: 10.43 in 265 mm
Rim Diameter: 16 in 406.4 mm
Rim Width Range: 7 - 9 in
Overall Diameter: 30.60 in 777.24 mm
Sidewall Height: 7.30 in 185.42 mm
Radius: 15.30 in 388.62 mm
Circumference: 96.13 in 2441.7 mm
Revs per Mile: 679.7
Actual Speed: 60 mph 100 km/h
Speedometer Difference: -
Diameter Difference: -%
New Tire 1 - 265/70R17********
Section Width: 10.43 in 265 mm
Rim Diameter: 17 in 431.8 mm
Rim Width Range: 7 - 9 in
Overall Diameter: 31.60 in 802.64 mm
Sidewall Height: 7.30 in 185.42 mm
Radius: 15.80 in 401.32 mm
Circumference: 99.27 in 2521.4 mm
Revs per Mile: 658.2
Speedometer1: 58.1 mph 96.8 km/h
Speedometer Difference: 3.266% too slow
Diameter Difference: 3.17%
taken from:
Tire Size Calculator - tire & wheel plus sizing
My 4Runner has 315/75/16 tires on it but geared lower for 265/75/16 tires. My speedo reads 10% lower than my actual speed. So my guess is that your tire size is the reason for the discrepancy. Just be aware if it and you'll be fine, no harm.