One embodiment of the present invention provides a method for facilitating
secure extension of an application. The method operates by first
establishing an agreement between an owner of the application and a third
party to allow the third party to incorporate an extension into the
application. Once an agreement has been established, the system causes
the extension to be digitally signed with a private key associated with
the owner of the application, whereby the resulting digital signature can
be verified with a corresponding public key to confirm that the extension
is authorized to be used by the application. The system also configures
the application to operate with extensions signed with the private key.
In a variation on this embodiment, causing the extension to be digitally
signed involves receiving the extension from the third party and signing
the extension with the private key belonging to the owner of the
application.