A method and apparatus for preventing rogue implementations of a
security-sensitive class interface are provided. With the method and
apparatus, a unique identifier (UID) is created by a server process when
the server process is started. Anytime the server process, i.e. a server
runtime environment, instantiates a new credential object following
start-up of the server process, the encrypted UID is placed into a
private field within the new credential object. In addition, the UID is
encrypted and stored in a private class of the server runtime
environment. A verification class is provided within the server runtime
environment which includes one or more methods that receive the
credential object as a parameter and return true or false as to the
validity of the credential object. These one or more methods determine
the validity of the credential object by retrieving the encrypted UID
from the private class stored in the server runtime environment,
decrypting the UID and comparing it to the decrypted UID stored in the
private field of the credential object. If the two UIDs match, a
determination is made that the credential object was created by the
server runtime environment rather than a rogue application. If the two
UIDs do not match, or if there is no UID in the credential object, then a
false result will be returned by the verification class.