Patent ID: 8219827

Claim:
A device connectable to a server, comprising: a storing unit including a memory storing a plurality of pieces of software and a plurality of certificates associated with the plurality of pieces of software, each piece of software of the plurality of pieces of software being assigned to one certificate of the plurality of certificates, and each respective certificate of the plurality of certificates being used to verify the piece of software, of the plurality of pieces of software, associated therewith; a setting unit setting, to the device, one piece of software of the plurality of pieces of software as an enabled one piece of software of the plurality of pieces of software, the enabled one piece of software of the plurality of pieces of software being capable of being executed by the device; an executing unit verifying the enabled one piece of software of the plurality of pieces of software using a certificate, of the plurality of certificates, associated with the enabled one piece of software of the plurality of pieces of software, and executing the enabled one piece of software verified by the executing unit after the verification; a receiving unit receiving from the server, a plurality of updated certificates corresponding to predetermined certificates, of the plurality of certificates, determined to be updated by the server, the server determining the certificates, of the plurality of certificates, to be updated without detecting which certificate of the plurality of updated certificates corresponds to the enabled one piece of software of the plurality of pieces of software; a selecting unit selecting, from the received plurality of updated certificates, one updated certificate corresponding to the certificate associated with the enabled one piece of software of the plurality of pieces of software, and storing the selected updated certificate in the storing unit; and a flag storing unit storing an enabling flag identifying the enabled one piece of software of the plurality of pieces of software, when the setting unit sets, to the device, the enabled one piece of software of the plurality of pieces of software, wherein the selecting unit does not select, from the received plurality of updated certificates, an updated certificate corresponding to a certificate, of the plurality of certificates, associated with a disabled one piece of software of the plurality of pieces of software and does not store the updated certificate corresponding to the certificate associated with the disabled one piece of software in the storing unit, wherein the executing unit verifies the enabled one piece of software of the plurality of pieces of software using the one updated certificate selected by the selecting unit, and wherein the selecting unit selects, from the received plurality of updated certificates, one updated certificate corresponding to the certificate associated with the enabled one piece of software of the plurality of pieces of software, based on the enabling flag stored in the flag storing unit.