Uganda's president has signed into law a bill toughening penalties for gay people and criminalising those who do not report them.
A government spokesman said President Yoweri Museveni wanted to assert Uganda's "independence in the face of Western pressure".
US President Barack Obama has cautioned the bill would be a backward step.
Mr Museveni had previously agreed to put the bill on hold pending US scientific advice.
Homosexual acts are already illegal in Uganda.
The new law punishes first-time offenders with 14 years in jail, and allows life imprisonment as the penalty for acts of "aggravated homosexuality".
It also makes it a crime not to report gay people - in effect making it impossible to live as openly gay.
It criminalises the "promotion" and even the mere "recognition" of homosexual relations "through or with the support of any government entity in Uganda or any other non-governmental organisation inside or outside the country".
Lesbians are covered by the bill for the first time.
Gay activists say they will challenge the new laws in court.
The bill originally proposed the death penalty for some homosexual acts, but that was later removed amid international criticism.
According to the Associated Press news agency, government officials clapped after Mr Museveni signed the bill at a press conference at State House.
The BBC's Catherine Byaruhanga in Uganda says it is rare for the president to assent to bills so publicly.
But the anti-gay bill has become so controversial that the media were invited to witness its signing, she says.
Earlier government spokesman spokesman Ofwono Opondo told Reuters news agency Mr Museveni wanted "to demonstrate Uganda's independence in the face of Western pressure and provocation".
The sponsor of the bill, MP David Bahati, insisted
"Homosexuality is just bad behaviour, that should not be allowed in our society," he told the BBC's Newsday programme.
But a gay rights activist in Uganda told the programme that he was "very scared" about the new bill.
"I didn't even go to work today [Monday]. I'm locked up in the house.
"And I don't know what's going to happen now. I'm talking to all my activists on the phone. And it's the same, they are all locked up in their houses. They can't move out. They are watching their back to see what happens."
Our correspondent says although Mr Museveni had been apprehensive about signing the bill, he could not convince his party, religious groups and many of his citizens that it was not needed.
The signing of the bill is an apparent U-turn from a recent pledge to hold off, pending advice from the US.
In a statement, Mr Museveni had said: "I... encourage the US government to help us by working with our scientists to study whether, indeed, there are people who are born homosexual.
"When that is proved, we can review this legislation."
President Obama described it as "more than an affront, and a danger to, Uganda's gay community. It will be a step backwards for all Ugandans."
He warned it could "complicate" Washington's relations with Uganda, which receives a reported $400m (£240m) in annual aid from the US.
In South Africa, former archbishop Desmond Tutu said he was disheartened by President Museveni's apparent change of stance.