Changing the login keychain's password

I want to write an applescript that will:

  1. Prompt the client for their current password and what they want to change the password to.
  2. Change the login password (account is local, not authenticating against a directory service) to the new password.
  3. Set the password to unlock the keychain to the new password
  4. Update Entourage’s key.

Right now I’m having trouble with step 3. I can use the dscl command to change the local account password but what about the keychain? Unless I’m misreading the dictionary keychain scripting does not have a feature to change the keychain’s password, just the keys password. Any suggestions?