Patent ID: 8175269

Claim:
A computer executable method for deploying a symmetric key in a software application comprising the steps of: providing a software application as source code for installation at a plurality of computer systems; providing an application-base-secret, associated with the source code, which is accessible by all installed instances of the software application at the plurality of computer systems; providing an application-keypair, associated with the source code, which includes an application public key and an application private key, wherein the application public key of the application-keypair is also accessible by all of the installed instances of the software application, and wherein the application private key is associated with a utility application; using the utility application to install a particular instance of the software application at a particular computer system, including, for the particular instance generating, at the time of installation of the particular instance of the software application at the particular computer system, an instance-base-secret which is unique to the particular instance of the software application, encrypting the instance-base-secret using the application private key from the application-keypair that is associated with the utility application, generating an instance-keypair, using the application-base-secret and the instance-base-secret, which includes an instance public key and an instance private key, wherein the instance-keypair is also unique to the particular instance of the software application, creating an instance certificate using a certificate authority and the instance public key from the instance-keypair, so that the instance certificate is unique to the particular instance of the software application, creating a digital signature of the encrypted instance-base-secret using the instance private key of the instance-keypair, and using the digital signature to sign the instance certificate, associating the instance certificate with the particular instance of the software application, and removing the instance private key; and thereafter periodically verifying the authenticity of the instance certificate.