What is verification?

Julien SIMON

Verification is the operation through which a CAP file is checked against the CAP specification and the export files of the packages it references. A host tool performs this operation: the verifier.

Java Card support post-issuance loading, but since the Java Card Virtual Machine doesn't support verification, this last step must be performed before a CAP file is loaded on the card. The purpose is two-fold. First, make sure that a CAP file is valid (structure, bytecode, etc). Second, make sure that its methods interact correctly with other packages (number and type of parameters, etc). Please note that verification doesn't guarantee the origin of the CAP file.

Most Java Card vendors have implemented their own verifier, because Sun's verifier wasn't widely available until April 2001.