1. A method of controlling access, by an application, to a secure function of a secure class, the secure function being available for execution on a computing device, the method comprising: determining whether the application includes a first authentic digital signature generated using a function-specific code signing key, wherein the first authentic digital signature comprises a hash of the application, and the hash is encrypted with the function-specific code signing key, the function-specific code signing key being associated with the secure function; determining whether the application includes a second authentic digital signature generated using a class-specific code signing key, wherein the second authentic digital signature comprises a hash of the application, and the hash is encrypted with the class-specific code signing key, the class-specific code signing key being associated with the secure class; and controlling access to the secure function of the secure class based on whether the application includes both the first authentic digital signature and the second authentic digital signature.