×

File language verification

  • US 7,506,175 B2
  • Filed: 11/05/2001
  • Issued: 03/17/2009
  • Est. Priority Date: 11/06/2000
  • Status: Expired due to Fees
First Claim
Patent Images

1. A computer-implemented method of verifying that a reduced set of code adheres to a pre-defined language syntax before being stored in a smart card, the computer-implemented method comprising:

  • determining if an original full-version code file complies with a pre-defined language syntax, wherein the original full-version code file is capable of executing all instructions and utilizing all features found in a full version of a programming language;

    in response to determining that the original full-version code file complies with the pre-defined language syntax, creating a first cryptographic signature for the original full-version code file;

    storing the first cryptographic signature on a smart card, wherein the smart card comprises a limited-capacity embedded microcontroller;

    converting the original full-version code file into a reduced-version code file, wherein the reduced-version code file is capable of executing only a limited subset of instructions and features found in the full version of the programming language;

    converting the reduced-version code file into a converted file, wherein the converted file is capable of utilizing all features found in the full version of the programming language, and wherein converting the reduced-version code file into the converted file is performed by a pre-conversion step, a mapping step, and a final conversion step,wherein the pre-conversion step includes;

    converting the reduced-version code file into a preconverted file, wherein the preconverted file utilizes the pre-defined language syntax, andwherein the preconverted file includes a preconverted code section and a preconverted code description section, andwherein the mapping step includes;

    utilizing a mapper to replace, in the preconverted file, externally defined names in the reduced-version code file with original names that are used in the full-version code file, wherein the mapper utilizes an export file that was created during the pre-conversion step, and wherein external references found in the preconverted file are resolved and converted into symbolic external reference for every class file that is referenced by the reduced-version code file, andwherein the final conversion step includes;

    converting the preconverted file into the converted file by rearranging individual code sections, header sections and link information so that they comply with the pre-defined language syntax, wherein the converted file includes a converted class description and converted executable instructions that are respectively derived from the preconverted code section and the preconverted code description section in the preconverted file;

    in response to determining that the converted file complies with the pre-defined language syntax, creating a second cryptographic signature for the converted file;

    storing the second cryptographic signature on the smart card; and

    in response to the first cryptographic signature matching the second cryptographic signature, storing the reduced-version code file on the smart card, wherein the first cryptographic signature and the second cryptographic signature match only if the original full-version code file, the reduced-version code file, the preconverted file, and the converted file all comply with the pre-defined language syntax.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×