Patent ID: 8683207

Claim:
A computer-implemented method for resigning an assembly which represents portions of code identified in a framework library, the assembly's access being protected in a first instance by signing the assembly with a strong name and then releasing the assembly for use by one or more applications executed by a runtime of the framework, and the computer-implemented method causing access to the assembly to be further secured after the first instance by resigning the assembly with a further strong name, but without modifying an original identity of the assembly so that applications can continue to identify the assembly using the original identity even after the assembly is resigned with the further strong name, the computer-implemented method being performed by one or more processors which perform the implemented method, which comprises: retrieving from a framework library an original assembly which represents portions of code in the framework library identified for execution by one or more applications when executed by a runtime of the framework, access to the retrieved original assembly having been protected in the first instance prior to its release for use by one or more applications by signing the original assembly with a strong name, and the strong name comprising, i) an original identifier for the original assembly, ii) an identity public key from an identity public key/identity private key pair, and iii) a digital signature which is prepared by generating a cryptographic digest of the original assembly contents, which is then signed, by means of a signature algorithm, with an identity private key of the identity public key/identity private key pair; further securing access to the retrieved original assembly by replacing the original assembly with a copy of the original assembly that is resigned with an updated strong name that uses a new signature public key/signature private key pair, the updated strong name comprising, i) the original identifier for the original assembly, ii) the original identity public key, iii) a first updated digital signature which is prepared by generating a cryptographic digest of the copy of the original assembly contents, which is then signed, by means of the signature algorithm, with the signature private key of the new signature public key/signature private key pair, and iv) a counter signature which is comprised of the signature public key from the new signature public key/signature private key pair, and a second updated digital signature prepared by signing the signature public key, by means of the signature algorithm, with the original identity private key from the identity public key/identity private key pair; and using the counter signature to link the original identifier of the original assembly to the new signature public key/signature private key pair, and then providing access to the copy of the original assembly when running an application on the framework runtime which identifies the copy of the original assembly using the original identifier.