In any event, the US is signatory to a treaty pledging that all international waterways will NOT be closed, blocked, etc. by any of the nations that signed it.
The treaty does NOT grant any signatory nation jurisdiction over a waterway that is closed for any reason. It does NOT allow any nation to use force to open it.
The US most definitely does not have the right to close the Strait or any other international waterway. If the US intercepts/stops a ship, that will be an act of war against the nation where the ship is flagged.
For the above reasons, I think that Trump's pronouncement is nothing but the usual bluff and bluster. More of that so-called "fart of the deal" crap.
From reading his babble, it appears that what is really twisting his soiled diaper is the prospect of Iran collecting tolls. Money going to them instead of being stuffed into his pockets.
He's an idiot.