Program, control method, and information processing apparatus

By pre-installing a certificate corresponding to the driver signature, the program ensures smooth driver installation without unnecessary confirmation screens, enhancing user experience.

JP2026020852APending Publication Date: 2026-02-10CANON KK
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024122444
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-29
Publication Date
2026-02-10

AI Technical Summary

Technical Problem

The conventional method of installing printer drivers is inconvenient due to the display of a confirmation screen asking whether to install, even when the user intends to proceed with the installation.

Method used

A program that installs a certificate corresponding to the driver signature before the driver is installed, ensuring the driver is installed smoothly without the need for a confirmation screen.

Benefits of technology

Enables seamless driver installation by pre-installing the necessary certificate, eliminating the need for redundant confirmation screens and improving user convenience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026020852000001_ABST
    Figure 2026020852000001_ABST
Patent Text Reader

Abstract

To provide a program for installing a certificate corresponding to a signature of a driver before installing the driver.SOLUTION: A program for installing a driver for controlling a peripheral device in an information processing apparatus, the program causing the information processing apparatus to: acquire a certificate of the driver when the certificate is not installed in the information processing apparatus; install the acquired certificate in the information processing apparatus; and install the driver in response to installation of the certificate.SELECTED DRAWING: Figure 7
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an information processing apparatus, a control method, and a program for installing a driver. [Background technology]

[0002] A typical print control program that controls a printer is a Windows (registered trademark) printer driver. The driver set of a Windows (registered trademark) printer driver includes a CAT file (catalog file). A digital signature can be added to the catalog file to prevent driver tampering (see, for example, Patent Document 1).

[0003] A digital signature is a hash value of the files that make up a driver set, encrypted with a private key. The hash value can be extracted by decrypting the digital signature with a public key, and by comparing it with the hash value of the actual driver set, it is possible to verify that the contents of each file in the driver set have not been altered.

[0004] The catalog file also contains a certificate, and the certificate of the issuer of the trusted electronic signature (digital signature) is stored in the certificate store of the information processing device.

[0005] When installing a printer driver on an information processing device, some operating systems (OSs) display a screen to ask the user whether to install the driver, depending on the issuer of the digital signature attached to the CAT file. For example, the confirmation screen is displayed if the certificate corresponding to the digital signature is not stored in the certificate store. [Prior art documents] [Patent documents]

[0006] [Patent Document 1] Japanese Patent Application Laid-Open No. 2014-48956 Summary of the Invention [Problem to be solved by the invention]

[0007] The above-mentioned conventional technology has the problem of being inconvenient because a confirmation screen may be displayed when installing a driver. Even though the user runs the installer for the acquired driver and clearly intends to install it, it is redundant for a confirmation screen to appear at the timing of installing the driver, asking whether or not to install it.

[0008] SUMMARY OF THE INVENTION It is therefore an object of the present invention to provide a program that installs a certificate corresponding to a driver signature before the driver is installed. [Means for solving the problem]

[0009] A program for installing a driver for controlling a peripheral device in an information processing device, the program causing the information processing device to obtain a certificate for the driver if the certificate is not installed in the information processing device, install the obtained certificate in the information processing device, and install the driver in response to the installation of the certificate. [Effects of the Invention]

[0010] According to the present invention, by installing a certificate corresponding to the signature of the driver before installing the driver, the confirmation screen is not displayed, and therefore the driver can be installed smoothly. [Brief explanation of the drawings]

[0011] [Figure 1] 1 is a diagram illustrating a system configuration. [Figure 2] FIG. 1 is a diagram illustrating a hardware configuration of a computer. [Figure 3] FIG. 2 is a diagram illustrating the software configuration of a computer. [Figure 4]FIG. 2 is a diagram illustrating a file configuration of a driver installation set according to the first embodiment. [Figure 5] FIG. 10 is a diagram showing transitions of screens displayed by the installer. [Figure 6] FIG. 10 is a diagram showing a security warning screen displayed by the OS. [Figure 7] FIG. 10 is a diagram illustrating a processing flow of an installer according to the first embodiment. [Figure 8] FIG. 10 is a diagram showing a screen displayed by an installer in the first embodiment. [Figure 9] FIG. 10 is a diagram illustrating a file configuration of a driver installation set according to the second embodiment. [Figure 10] FIG. 10 is a diagram illustrating a processing flow of an installer according to the second embodiment. [Figure 11] FIG. 10 is a diagram showing a screen displayed by an installer in the second embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0012] [Example 1] Hereinafter, embodiments of the present invention will be described with reference to the drawings.

[0013] 1 is a diagram showing the connection configuration of a computer 1000 as an example of an information processing device and a printer 2000 as an example of a peripheral device in a printing system of this embodiment. Examples of the computer 1000 include a PC (personal computer), a smartphone, and a tablet terminal. The computer 1000 and the printer 2000 are connected via a network or USB, etc., and are capable of communicating with each other.

[0014] 2 is a block diagram showing the hardware configuration of computer 1000. Computer 1000 is entirely controlled by a control unit 1040 made up of a CPU 1041 and memory 1042. Display unit 1010 is an output device such as a display, and operation unit 1020 is an input device such as a mouse, keyboard, or touch panel.

[0015] The storage unit 1030 is a storage medium such as a hard disk or SSD, and stores various software necessary for the computer 1000 to operate. The OS 1110 and drivers described below are also stored in the storage unit 1030. The network communication unit 1050 connects to a network and inputs and outputs data to and from external devices. The USB communication unit 1060 inputs and outputs data to and from external devices via a USB connection. The computer 1000 and printer 2000 are connected via the network communication unit 1050 or the USB communication unit 1060.

[0016] All software processing in this embodiment is realized by loading software stored in storage unit 1030 into memory 1042 in control unit 1040 and executing it with CPU 1041. CPU is an abbreviation for Central Processing Unit.

[0017] 3 is a block diagram showing the software configuration of the computer 1000, particularly with regard to the driver installation process of this embodiment. All of this software is stored in the storage unit 1030. The application 1100 refers to any software such as word processing software or spreadsheet software, and the driver installer 1210, which will be described later, is one of the applications 1100.

[0018] OS1110 is an abbreviation for Operating System, and is software that controls the basic operations of the computer 1000. The OS1110 has a driver installation control unit 1111 and a certificate management unit 1113, and further has data areas called a driver store 1112 and a certificate store 1114.

[0019] The driver installation control unit 1111 controls the installation of a driver prepared outside the OS 1110 into the OS 1110. Here, a driver is software for controlling the peripheral device 2000 from the computer 1000, and is generally provided by the vendor that produces the peripheral device 2000. Installing a driver in the OS 1110 means adding a driver provided by the vendor to the OS 1110 so that the peripheral device can be used from the computer 1000 under the management of the OS 1110.

[0020] A driver installation control unit 1111 verifies the driver to be installed and stores it in a driver store 1112. Therefore, drivers for a wide variety of peripheral devices are stored in the driver store 1112. A certificate management unit 1113 manages certificates registered in the OS 1110. A certificate store 1114 is managed by the certificate management unit 1113 and stores various certificates used by the OS 1110.

[0021] Here, a certificate certifies the validity of a digital signature, and the relationship between a digital signature and a certificate can be likened to the relationship between a seal and a seal certificate. Certificates of issuers trusted by the administrator or user of computer 1000 are stored in certificate store 1114.

[0022] 4 is a diagram showing the file configuration of a driver installation set 1200 in this embodiment. The installation set 1200 is a group of files provided by the vendor, and includes the files described below.

[0023] The installer (EXE) 1210 is an application 1100 for installing a driver, and installs a driver file 1250 into the OS 1110 when executed by a user with administrator privileges.

[0024] The driver set 1220 indicates a group of driver-related files before installation, and includes a setup information file (INF) 1230, a catalog file (CAT) 1240, and a driver file (CAB) 1250.

[0025] The setup information file (INF) 1230 describes information necessary for installing the driver file 1250. Specifically, the information describes the type and version of the driver, the file name of the catalog file 1240, the file name and installation destination of the driver file 1250, etc.

[0026] The catalog file (CAT) 1240 is a file used when installing the driver file 1250, and is used to verify the driver set 1220. The catalog file (CAT) 1240 includes the digital signature 1241 and certificate of the driver file 1250, and is used to check whether the signed driver file 1250 has been tampered with.

[0027] The driver file (CAB) 1250 is the main body of the driver to be installed, and is a compressed file containing executable programs and data files for controlling peripheral devices.

[0028] 5 shows the transition of screens displayed by the installer 1210 on the display unit of the computer 1000 when the user executes the installer 1210. Here, as a general example, the screen transition when the present invention is not implemented will be described.

[0029] Screen 1 (1310) is the screen that the installer 1210 displays at startup. When the "Next" button is pressed, the installer 1210 displays screen 2 (1320). Screen 2 detects the printers currently connected to the computer 1000. When the detection is complete, the installer 1210 displays screen 3 (1330).

[0030] Screen 3 (1330) displays a list of the printers detected on Screen 2 (1320) and allows the user to select which printer driver to install. When the "Next" button is pressed, the installer 1210 displays Screen 4 (1340). Screen 4 (1340) is a screen for notifying the user that driver installation will now begin. When the "Next" button is pressed, the installer 1210 displays Screen 5 (1350) and starts driver installation.

[0031] The driver is installed by the installer 1210 calling an API for driver installation provided by the driver installation control unit 1111 of the OS 1110. At this time, the installer 1210 specifies the setup information file 1230 in the driver set 1220.

[0032] At this time, depending on the driver set 1220 to be installed, the OS 1110 may display a security warning screen. The security warning screen will be described later with reference to Figure 6. When the driver installation is complete, the installer 1210 displays screen 6 (1360) to notify the user that the installation is complete, and then ends the process.

[0033] FIG. 6 shows a security warning screen 1400 that the OS 1110 displays when installing a driver while the installer 1210 is displaying the above-mentioned screen 5 (1350).

[0034] When an API for driver installation is called, the OS 1110 obtains the file name of the catalog file 1240 described in the specified setup information file 1230. The OS 1110 then references the catalog file 1240 with the obtained file name and identifies the certificate corresponding to the digital signature 1241 included in the catalog file 1240.

[0035] If the identified certificate does not exist in the certificate store 1114 of the OS 1110, the OS 1110 displays a security warning screen 1400. The security warning screen 1400 contains information about the issuer of the digital signature 1241, and prompts the user to decide whether or not to install the driver with the digital signature 1241 of this issuer.

[0036] When the "Install" button is pressed, the OS 1110 starts installing the specified driver, and when the "Do not install" button is pressed, the OS 1110 cancels the installation of the driver.

[0037] The security warning screen 1400 also has a checkbox for whether to always trust drivers with the same publisher's digital signature 1241. If this setting is on and the "Install" button is pressed, the OS 1110 installs (imports) the corresponding certificate into the certificate store 1114. Therefore, from the next time onwards, the installation can be performed without the security warning screen 1400 appearing the next time a driver with the same digital signature is installed.

[0038] On the other hand, if this setting is off and the "Install" button is pressed, the next time OS 1110 installs a driver with the same digital signature, it will again display security warning screen 1400. In this way, by OS 1110 displaying security warning screen 1400 to the user, it is possible to prevent drivers signed by suspicious publishers from being installed without the user's knowledge.

[0039] Next, the flow of installing a driver in OS 1110 by installer 1210, which is an embodiment of the present invention, will be described focusing on the characteristic parts of the invention using Fig. 7. All of the processing described here is executed by CPU 1041 after installer 1210 stored in storage unit 1030 in computer 1000 is loaded into memory 1042.

[0040] The installer 1210 is started upon receiving a start instruction from the user (S100), and then acquires the digital signature 1241 from the catalog file 1240 in the driver set 1220 (S110).

[0041] The installer 1210 then identifies the certificate from the acquired digital signature 1241 and checks whether the certificate is in the certificate store 1114 (S120). Specifically, the installer 1210 acquires the serial number of the certificate included in the digital signature 1241 and checks whether the certificate store 1114 contains a certificate with the same serial number.

[0042] If there is no corresponding certificate in the certificate store 1114, the installer 1210 acquires the certificate from the digital signature 1241 (S130). At this time, a screen 7 (1370) shown in Fig. 8, which will be described later, is displayed.

[0043] Next, the installer 1210 installs the certificate in the certificate store 1114 (S140). The installer 1210 installs the certificate by calling an API for certificate installation provided by the certificate management unit 1113 of the OS 1110.

[0044] Finally, the installer 1210 installs the driver in the OS 1110 (S150).

[0045] In this way, the driver is installed after the certificate for the digital signature 1241 included in the pre-installation driver set 1220 is installed in advance in the OS 1110. Therefore, the driver can be installed without the OS 1110 displaying the security warning screen 1400.

[0046] FIG. 8 is a diagram showing screen 7 (1370) displayed before the installer 1210 installs the certificate in the certificate store 1114 in this embodiment.

[0047] The installer 1210 displays screen 7 (1370) shown in Fig. 8 between screen 3 (1330) and screen 4 (1340) shown in Fig. 5. This is a screen for notifying the user that a certificate will be installed in the OS 1110. There is a check box in front of the certificate issuer information, and when the Next button is pressed with the check box checked, the installer 1210 installs the certificate in the OS 1110 and then displays screen 4 (1340).

[0048] By notifying the user before installing the certificate in this way, the certificate will not be installed without the user's knowledge. Also, by installing the certificate before installing the driver, the driver can be installed without displaying the security warning screen 1400 shown in Figure 6.

[0049] If the Next button is pressed with the check box unchecked, the installer 1210 displays screen 4 (1340) without installing this certificate in the OS 1110. In this case, the security warning screen 1400 shown in Fig. 6 is displayed when the driver is installed.

[0050] The above describes the processing of the installer 1210 in this embodiment. When the installer 1210 operates as in this embodiment, a certificate is installed before the driver is installed. Therefore, the security warning screen 1400 by the OS 1110 does not suddenly appear during the installation, allowing the user to smoothly install the driver without hesitation.

[0051] [Example 2] In the first embodiment, an example was described in which there is only one driver set in the driver installation set 1200. In the second embodiment, an example will be described in which there are multiple driver sets (3210, 3260) in the driver installation set 3200. Explanations of processes equivalent to those in the first embodiment will be omitted, and only the differences will be explained.

[0052] 9 is a diagram showing the file configuration of the driver installation set 3200 in the second embodiment. The installation set 3200 is the same as the configuration in the first embodiment in that it contains only one installer 1210.

[0053] However, this installation set 3200 contains two driver sets (3210, 3260). For example, in the case of a multifunction printer, this refers to a printer driver and a scanner driver. In the case of a multifunction printer, multiple drivers are prepared for a single device, and multiple drivers can be installed at the same time using a single installer 3210.

[0054] It should be noted that three or more driver sets may be included in the installation set 3200. Furthermore, the user may be allowed to select one or more drivers to be installed using the installer 3210 from the plurality of drivers included in the installation set 3200.

[0055] The internal configurations of driver set A3210 and driver set B3260 are the same as those in embodiment 1. In this embodiment, it is assumed that different digital signatures A3231 and B3281 are attached to catalog file A3230 of driver set A3210 and catalog file B3280 of driver set B3260, respectively.

[0056] Next, the flow of installing a driver in the OS 1110 by the installer 3210 in the second embodiment will be described with reference to Fig. 10, focusing on the characteristic features of the invention. All of the processes described here are executed by the CPU 1041 after the installer 3210 stored in the storage unit 1030 in the computer 1000 is loaded into the memory 1042.

[0057] The installer 3210 is started upon receiving a start instruction from the user (S200). Next, the installer 3210 acquires the digital signature A3231 from the catalog file A3230 in the driver set A3210 (S201). The acquisition method is the same as in the first embodiment. Furthermore, the installer 3210 acquires the digital signature B3281 from the catalog file B3280 of the driver set B3260 (S202).

[0058] Next, the installer 3210 identifies certificate A from the acquired digital signature A3231 and checks whether the certificate A is in the certificate store 1114 (S203). If the corresponding certificate A is not found in the certificate store 1114, the installer 3210 acquires certificate A from the digital signature A3231 (S204).

[0059] Furthermore, the installer 3210 identifies certificate B from the acquired digital signature B 3281 and checks whether the certificate B is in the certificate store 1114 (S205). If the corresponding certificate B is not in the certificate store 1114, the installer 3210 acquires certificate B from the digital signature B 3281 (S206).

[0060] Next, the installer 3210 checks whether the certificate was acquired in S204 and S206 above (S207), and if it was acquired, displays screen 8 (1380) shown in Figure 11, and then installs the specified certificate in the certificate store 1114 (S208). Finally, the installer 3210 installs driver set A in the OS 1110 (S209), and sets driver set B in the OS 1110 (S210).

[0061] 11 is a diagram showing screen 8 (1380) displayed before installation when the installer 3210 installs certificate A and certificate B into the certificate store 1114 in S208 of the second embodiment. The installer 3210 displays screen 8 (1380) shown in FIG. 11 between screen 3 (1330) and screen 4 (1340) shown in FIG. 5.

[0062] Unlike screen 7 (1370) in the first embodiment, the user is notified that two certificates will be installed on one screen. This prevents certificates from being installed without the user's knowledge, and also avoids the hassle of having to display a confirmation screen multiple times for each certificate to be installed.

[0063] In the second embodiment, the processing of the installer 3210 for installing multiple drivers has been described. By implementing the present invention in this manner, the same effect can be obtained when installing multiple driver sets (3210, 3260). In particular, by installing multiple certificates in the OS 1110 at once, it is possible to avoid notifying the user multiple times, thereby improving convenience. [Explanation of symbols]

[0064] 1000 computers 1210 Installer 1240 Catalog File 1241 Digital Signature 1250 driver files 2000 Printer

Claims

1. A program for installing a driver for controlling a peripheral device in an information processing device, the program comprising: If a certificate of the driver is not installed in the information processing device, the certificate is acquired; Installing the acquired certificate in the information processing device; A program that causes the driver to be installed in response to the certificate being installed.

2. 2. The program according to claim 1, further comprising the step of notifying a user that a certificate is to be installed before the certificate is installed.

3. The program according to claim 1 , wherein the certificate corresponds to a digital signature included in a driver set of the driver.

4. The program according to claim 1 , wherein installing the certificate causes the certificate to be stored in a certificate store of the information processing device.

5. The program that can install multiple drivers at once, obtaining a plurality of certificates corresponding to digital signatures included in a driver set for each of the plurality of drivers; The program according to claim 1 , wherein the program causes the plurality of certificates to be installed in the information processing device.

6. 1. A control method for installing a driver for controlling a peripheral device in an information processing device, the method comprising: If a certificate of the driver is not installed in the information processing device, the certificate is acquired; Installing the acquired certificate in the information processing device; a control method for causing the driver to be installed in response to the certificate being installed;

7. 7. The control method according to claim 6, further comprising the step of notifying a user that a certificate is to be installed before the certificate is installed.

8. 7. The control method according to claim 6, wherein the certificate corresponds to a digital signature included in a driver set of the driver.

9. 7. The control method according to claim 6, wherein the certificate is stored in a certificate store of the information processing device by installing the certificate.

10. The program that can install multiple drivers at once, obtaining a plurality of certificates corresponding to digital signatures included in a driver set for each of the plurality of drivers; 7. The control method according to claim 6, wherein the plurality of certificates are installed in the information processing device.

11. If a certificate for a driver for controlling a peripheral device is not installed in the information processing device, the certificate is acquired; Installing the acquired certificate in the information processing device; The information processing device is characterized in that the driver is installed in response to the installation of the certificate.

Citation Information

Patent Citations

  • System, control method therefor, control method for information processing apparatus, and program

    JP2014048956A