Database::sign API

When using the Database::sign API in java, it appears that the signer ID used is the ID of the Session in which the call is being made from. I’m trying to write a program that will sign a database using another ID, for example one that is setup in my ECL. The Database::sign API does not have a parameter to specify a signer. If I create a session (NotesFactory::createSession) and specify a Notes user id and password, I am able to access the database however when I try to sign it, I get the following:

NotesException: Cannot sign notes when running on a server.

I am able to sign the same database when I use the Session object that is being run under the server ID.

Is there any other way to accomplish this?

Thanks…