John F. Kerry, touting his health care proposals for a second day, charged Friday that the Bush administration "broke the law" by failing to disclose to Congress that its prescription drug plan would cost $100 billion more than its original estimate.

The Democratic nominee spent the day expressing his support for an extension of a federal ban on assault weapons and talking about rising health care costs, in a shift away from his focus earlier this week on the war in Iraq. Kerry is hoping that domestic issues, particularly the rising cost of health insurance, will help sway undecided voters, blunting President Bush's advantage in leading the war on terrorism.

The four-term senator said here and in a morning event in St. Louis -- both in the heart of crucial swing states -- that White House officials violated the law when they pressured an auditor not to disclose his estimates of the cost of the Medicare prescription drug program passed by Congress late last year.

"They intimidated and blocked him from telling the truth," Kerry said. "They broke the law. They intimidated members of Congress and violated the rules of Congress by keeping the vote open three hours longer than they were allowed. They offered all kinds of things to get them to vote for it."

Kerry was cheered at a large rally here by supporters who filled the grandstands of the Allentown Fairgrounds. Allentown Fire Marshal Gregory S. Long estimated the crowd at 13,000.

Kerry's heated rhetoric on Medicare comes as the Bush campaign launched an ad that points out the Massachusetts senator's voting record on Medicare and accuses him of hypocrisy.

Kerry argued that Bush's plan left gaps in covering seniors' drug costs and was weakened by a provision that prohibits the government from negotiating cheaper, bulk prices. He promoted his own plan, which he would pay for by repealing some of the tax cuts. "The problem of what's happening with health care represents a real problem with this administration and with George Bush's priorities because his priority has been: Number one, the insurance companies, the HMOs; number two, the drug companies . . . and number three, you," Kerry said earlier in the St. Louis suburbs. "I'm putting you first."

The Medicare prescription drug benefit has given Bush some political ammunition on an issue that voters tend to identify with Democrats. But many senior citizens have expressed confusion about the new plan, which the administration has spent millions explaining and promoting.

Kerry's assertion of illegal behavior has not been proved in court. Federal investigators, in a legal opinion, said this week that the Bush administration withheld information on the law, and they have proposed that the former head of the Medicare agency, Thomas A. Scully, should repay seven months' salary as a penalty.

The investigators found that Scully had pressured a government actuary, Richard Foster, not to disclose his cost estimates of the drug bill. Lawmakers in both parties have said the bill might not have passed if Foster's information had been known.

Bush administration officials have said they do not intend to enforce the proposed penalty. They have said Scully acted within his legal authority and have argued that it is unconstitutional for Congress to force the executive branch to disclose information.