The Dutch Safety Board has said that Malaysia Airlines flight MH17 was downed by a Buk surface-to-air missile as it flew over eastern Ukraine.
Its report added that the plane should never have been flying there, as Ukraine should have closed its airspace to civil aviation.
It said “nobody gave any thought” to the risk.
The report said that states in civil conflict “must do more” in the future to protect passenger planes.
The Dutch investigators said the missile exploded less than a metre from the MH17 cockpit, killing three crew in the cockpit and breaking off the front of the plane.
The aircraft broke up in the air and crashed over a large area controlled by rebel separatists who had been fighting government troops there since April 2014.
The investigators unveiled a ghostly reconstruction of the forward section of MH17. Some of the nose, cockpit and business class of the Boeing 777 were rebuilt from fragments of the aircraft recovered from the crash scene and flown to Gilze-Rijen air base in southern Netherlands.
Ukraine and Western countries contend the airliner was downed by a missile fired by Russia-backed rebels or Russian forces, from rebel-controlled territory.
But the missile’s Russian maker presented its own report hours earlier, trying to clear the Russia-backed separatists who controlled the area or Russia of any involvement in the crash.
Almaz-Antey says it conducted two experiments – in one of which a Buk missile was detonated near the nose of a plane similar to a 777 – that contradict the report’s conclusion.
The experimental aircraft’s remains showed a much different submunitions damage pattern than seen on the remnants of MH17, the company said in a statement.
The experiments also refute what it said was the Dutch version, that the missile was fired from Snizhne, a village that was under rebel control. An Associated Press reporter saw a Buk missile system in that vicinity on the same day.
“We have proven with our experiments that the theory about the missile flying from Snizhne is false,” Almaz-Antey’s director general Yan Novikov told a news conference at a sprawling high-tech convention centre in Moscow.
Almaz-Antey in June had said that a preliminary investigation suggested that the plane was downed by a model of Buk that is no longer in service with the Russian military but that was part of the Ukrainian military arsenal.
Information from the first experiment, in which a missile was fired at aluminium sheets mimicking an airliner’s fuselage, was presented to the Dutch investigators, but was not taken into account, Almaz-Antey chief Mr Novikov said.
Mr Novikov said evidence shows that if the plane was hit by a Buk, it was fired from the village of Zaroshenske, which Russia says was under Ukrainian government control at the time.