The Virat Kohli-led squad has no surprises with off-spinner Ravichandran Ashwin also making it back to the team after his brief injury lay-off.
Rohit sustained a thigh injury during the One Day International (ODI) series against New Zealand in October last year while Shami's last appearance in ODIs was in the 2015 World Cup semi-finals. Ashwin, who suffered a sports hernia, was also advised six-to-eight weeks of rehabilitation after a gruelling Test series against Australia.
Rishabh Pant, Kuldeep Yadav, Shardul Thakur, Suresh Raina and Dinesh Karthik were named as stand-by players for the ICC event.
"The stand-by players will be issued visas and will practise at the National Cricket Academy in Bengaluru," said Prasad.
The eight-team tournament will be played in June, with defending champions India pooled with South Africa, Pakistan and Sri Lanka in Group B.
India will start their Champions Trophy campaign against arch-rivals Pakistan on June 4.
Squad: Virat Kohli (Captain), Shikhar Dhawan, Rohit Sharma, Mahendra Singh Dhoni (WK), Yuvraj Singh, Kedar Jadhav, Hardik Pandya, Umesh Yadav, Bhuvneshwar Kumar, Manish Pandey, Mohammed Shami, Ravichandran Ashwin, Ravindra Jadeja, Jasprit Bumrah, Ajinkya Rahane.
Stand-bys: Rishabh Pant, Suresh Raina, Kuldeep Yadav, Shardul Thakur, Dinesh Karthik.
India to tour West Indies for five ODIs, one T20I next month
Indian women's squad for Cricket World Cup announced
BCCI helps foil betting racket
Fit-again Rohit, Shami in Champions Trophy squad
BREAKING NEWS: India announce 15 man squad for ICC Champions Trophy
Team India to participate in Champions Trophy
Indian team for Champions Trophy to be picked on May 8
COA warns state units against pulling out of Champions Trophy
India to take call on Champions Trophy at May 7 BCCI meet
New ICC model to reduce BCCI revenue share