Canada has struck a free-trade deal with Ukraine, an accord that represents more of a gesture of solidarity than a commercial breakthrough as beleaguered Kiev struggles with pro-Russian separatists, crippling government debt and an economy expected to shrink by as much as 9 per cent this year.

Stephen Harper and Ukrainian Prime Minister Arseniy Yatsenyuk announced the agreement on Tuesday when the Kiev politician visited Canada.

It is another measure for Ukraine, the ancestral homeland of more than one million Canadians, from a Conservative government that has made aid and support for Kiev one of its top foreign policies in the past 18 months.

Story continues below advertisement

Fresh trade ties that turn Ukraine more westward are a source of irritation for Russia. Last year, Moscow condemned a deal to reduce commercial barriers between the 28-member European Union and the administration of President Petro Poroshenko.

Once it enters into force, Canada will drop nearly all of its tariffs on Ukrainian imports while Kiev will remove duties on 86 per cent of Canadian imports, including those on industrial goods, forestry and wood products, fish and seafood products as well as most farm goods. Canadian pork producers will still face trade barriers but other sectors will get unhindered access to Ukraine's market including those producing beef, grains, canola oil, processed foods and animal feed.

The agreement comes just weeks before a Canadian federal election campaign in which Mr. Harper is expected to advertise his strong support for Ukraine, and his hawkish condemnation of Russian President Vladimir Putin, as evidence he has made Canada stand tall on the world stage.

Ottawa is not keen on Canadians reading the fine print, though, when it comes to the biggest single bundle of aid to Ukraine – the $400-million in low-interest loans the Harper government gave Kiev to help stabilize its economy.

The Canadian government is refusing to make public the actual loan agreements it signed with Ukraine, saying the two countries have agreed to keep secret the full text of the deal.

Stephanie Rubec, a spokeswoman for the Department of Finance in Ottawa, said "confidentiality provisions" in the loan documents oblige Canada to keep them under wraps.

That is markedly different from the United States, which has made billions of dollars in loan guarantees to Kiev. The U.S. Agency for International Development provides the full terms and conditions upon request.

Story continues below advertisement

All Ottawa will say is the two Canadian loans, one disbursed in September, 2014, and the second in March, 2015, each have five-year repayment terms. They allow Canada to audit the use of funds during the course of the agreement and oblige Kiev to report annually on how the funds are used.

In all, Canada has lent close to three-quarters of a billion dollars to Ukraine in recent years, including more than $250-million in 2009 to finance a Canadian-built satellite system.

Mr. Yatsenyuk is making a stop in Canada on Monday and Tuesday after visiting the United States.

In addition to the cash assistance, Ottawa has given non-lethal military aid to Kiev to help fight the pro-Moscow separatists and will soon send more than 200 soldiers to train Ukrainian troops for their ongoing battle with forces backed by Russia.

"At a time of heightened global economic instability, Prime Minister Harper is committed to expanding our economic and trade relationships to create jobs for Canadian workers," Prime Minister's Office spokesman Stephen Lecce said.