Aspects of the present invention generally relate to an information processing apparatus, a control method for an information processing apparatus, and a storage medium.
Heretofore, the technology of a public key infrastructure (PKI) using digital certificates has been implementing the identification and authentication of secure networks.
For example, an information processing apparatus serving as a client is able to verify the validity of a server by acquiring a server public key certificate acquired from the server and a certificate-authority certificate of a certificate authority which issued the server public key certificate. Moreover, providing a client public key certificate of the information processing apparatus to a server also enables the server to verify the validity of the client.
Digital certificates have respective expiration dates, and, if the expiration date of a digital certificate is passed, communications using the digital certificate would become impossible. Therefore, in a case where the expiration date has been passed or immediately before the expiration date is passed, it is necessary to renew the digital certificate.
Heretofore, there has been known a technique of automatically renewing a digital certificate at predetermined timing immediately before the expiration date thereof is passed, as discussed in Japanese Patent Application Laid-Open No. 2016-178458. When predetermined timing as previously set is reached, the information processing apparatus transmits a renewal request to a certificate management server via a network, and then receives a digital certificate from the certificate management server. Moreover, in response to an instruction issued via an operation unit of the information processing apparatus, the information processing apparatus is able to be manually operated to receive a digital certificate from the certificate management server. However, in the case of an information processing apparatus with a small storage capacity, there is a limit to a storage region for digital certificates. In a case where an automatic renewal function, which automatically acquires a certificate from the certificate management server when a predetermined time is reached, is currently set, if the information processing apparatus is manually operated to acquire a certificate, the storage region may reach the upper limit thereof, so that it may become impossible to store a certificate which has been acquired by the automatic renewal function for certificates. In this case, it becomes impossible to renew a certificate with use of the automatic renewal function for certificates.
According to an aspect of the present invention, an information processing apparatus capable of connecting to an external apparatus via a network includes a first setting unit configured to enable a first function of transmitting an issuance request for a digital certificate to the external apparatus at a previously designated date and time or with a previously designated cycle and acquiring a digital certificate from the external apparatus in response to the issuance request, and a second setting unit configured to enable a second function of transmitting an issuance request for a digital certificate to the external apparatus in response to an instruction issued by a user for an issuance request for a digital certificate and acquiring a digital certificate from the external apparatus in response to the issuance request, wherein, in a case where the first function is currently enabled by the first setting unit, the second setting unit does not enable the second function.
Moreover, according to another aspect of the present invention, an information processing apparatus capable of connecting to an external apparatus via a network includes a transmission unit configured to transmit an issuance request for a digital certificate to the external apparatus in response to an instruction issued by a user for an issuance request for a digital certificate, an acquisition unit configured to acquire a digital certificate from the external apparatus in response to the issuance request, and a retention unit configured to retain the digital certificate acquired by the acquisition unit, wherein, in a case where a number of digital certificates retained by the retention unit reaches an upper limit, the instruction issued by a user for an issuance request for a digital certificate is prevented from being received by the transmission unit.
Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings.
Various exemplary embodiments, features, and aspects of the invention will be described in detail below with reference to the accompanying drawings. Furthermore, the following exemplary embodiments are not intended to limit the invention as claimed in claims, and not all of combinations of characteristics described in the following exemplary embodiments are necessarily essential for resolutions in the invention. Furthermore, in the following exemplary embodiments, a multifunction peripheral (MFP) or a digital MFP is described as an example of an information processing apparatus which utilizes and manages a digital certificate. However, the scope of application of the invention is not limited to multifunction peripherals, but only needs to cover information processing apparatuses capable of utilizing digital certificates.
A certificate authority and registration authority 102 has the function of a certificate authority (CA), which issues a digital certificate, and the function of a registration authority (RA), which performs reception of an issuance request for a digital certificate and performs registration processing thereof. In other words, the certificate authority and registration authority 102 is a server apparatus which has the function of distributing CA certificates and issuing and registering digital certificates via the network 110. In the first exemplary embodiment, Simple Certificate Enrollment Protocol (SCEP) is assumed to be used as a protocol used for such communications performed via the network 110. An information processing apparatus, such as the multifunction peripheral 100, uses such SCEP to perform communications for an issuance request for a digital certificate and for acquisition of the digital certificate with the certificate authority and registration authority 102 via the network 110. The multifunction peripheral 100 according to the first exemplary embodiment has a web server function, and thus publishes a web page type remote user interface (RUI) function which is capable of performing processing for an issuance request for a digital certificate and for acquisition of the digital certificate on the network 110.
When receiving an issuance request for a digital certificate from another information processing apparatus via the network 110, the certificate authority and registration authority 102 performs issuance processing and registration processing of a digital certificate that is based on the received issuance request, and transmits the issued digital certificate as a response to the received issuance request. Furthermore, while, in the first exemplary embodiment, the functions of a certificate authority and a registration authority are implemented by the same server apparatus, a configuration in which a certificate authority and a registration authority are implemented by the respective different server apparatuses can be employed, and there is no particular limitation. Moreover, while, in the first exemplary embodiment, SCEP is used as the protocol used to perform an issuance request for a digital certificate and to receive the issuance request, any protocol having an equivalent function can be used, and, in the present exemplary embodiment, there is also no particular limitation. For example, Certificate Management Protocol (CMP) or Enrollment over Secure Transport (EST) protocol can also be used.
A personal computer (CP) 103 is equipped with a web browser function and is thus able to be used to view and utilize HyperText Markup Language (HTML) documents or web sites which are published by information processing apparatuses connected to the network 110.
Next, the outline of processing for acquisition and renewal of a digital certificate according to the first exemplary embodiment is described.
The administrator of the multifunction peripheral 100 uses a web browser mounted in the PC 103 to connect to a web page which is published by the multifunction peripheral 100 for an issuance request for a digital certificate and acquisition of the digital certificate, and then performs settings and instructions for executing processing for an issuance request for a digital certificate and acquisition of the digital certificate. The multifunction peripheral 100 transmits an acquisition request for a CA certificate and an issuance request for a digital certificate to the certificate authority and registration authority 102 via SCEP, according to the contents of the settings and instructions performed by the administrator. Moreover, the multifunction peripheral 100 acquires a digital certificate issued by the certificate authority and registration authority 102, which is included in a response to the issuance request for a digital certificate, and performs usage settings of the acquired digital certificate in the multifunction peripheral 100.
Next, a hardware configuration of the multifunction peripheral 100 according to the first exemplary embodiment is described.
A central processing unit (CPU) 201 executes software programs for the multifunction peripheral 100 and performs control of the entire multifunction peripheral 100. A read-only memory (ROM) 202 stores, for example, a boot program and fixed parameters for the multifunction peripheral 100. A random access memory (RAM) 203 is used to, for example, store programs and temporary data when the CPU 201 controls the multifunction peripheral 100. A hard disk drive (HDD) 204 stores system software, applications, and various pieces of data. The CPU 201 controls operations of the multifunction peripheral 100 by executing the boot program stored in the ROM 202, loading a program stored in the HDD 204 onto the RAM 203, and then executing the loaded program. A network interface (I/F) control unit 205 controls transmission and reception of data with respect to the network 110. A scanner I/F control unit 206 controls reading (scanning) of an original which is performed by a scanner 211. A printer I/F control unit 207 controls, for example, print processing which is performed by a printer 210. A panel control unit 208 controls an operation panel 212 of the touch panel type, thus controlling displaying of various pieces of information and inputting of instructions from the user. A bus 209 is used to interconnect the CPU 201, the ROM 202, the RAM 203, the HDD 204, the network I/F control unit 205, the scanner I/F control unit 206, the printer I/F control unit 207, and the panel control unit 208. Control signals output from the CPU 201 and data signals for use between the respective units are transmitted and received via the bus 209.
A network driver 301 controls the network I/F control unit 205, which is connected to the network 110, and performs transmission and reception of data with respect to an external apparatus via the network 110. A network control unit 302 controls communications in the transport layer and layers lower than that in a network communication protocol, such as Transmission Control Protocol/Internet Protocol (TCP/IP), and thus performs transmission and reception of data. A communication control unit 303 is a module which operates to control a plurality of communication protocols which the multifunction peripheral 100 supports. In acquisition processing and renewal processing for a digital certificate according to the first exemplary embodiment, the communication control unit 303 performs control of a request for HTTP protocol communication, generation and analysis processing of response data, and data transmission and reception, and performs communications with the certificate authority and registration authority 102 and the PC 103. Moreover, encrypted communications in TLS, IPsec, and IEEE 802.1X, which the multifunction peripheral 100 supports, are performed by the communication control unit 303.
A web page control unit 304 is a module which performs generation and communication control of HTML data used for displaying a web page which is able to be used to perform processing for an issuance request for a digital certificate and acquisition of the digital certificate. The web page control unit 304 performs processing with respect to a display request for a web page transmitted from the network driver 301 via the communication control unit 303, an issuance request for a digital certificate, and an execution instruction for acquisition of the digital certificate. The web page control unit 304 transmits, as a response to the request from the web browser, HTML data of a predetermined web page stored in the RAM 203 or the HDD 204 or HTML data generated according to the content of the display request.
A key pair and certificate acquisition control unit 305 is a module which operates to perform acquisition processing for a digital certificate which is based on an instruction from the web page control unit 304. Moreover, the key pair and certificate acquisition control unit 305 is also a module which performs, for example, communication control using SCEP, generation and analysis processing of encrypted data required in communication using SCEP, such as Public Key Cryptography Standards (PKCS) #7 or PKCS #10, and processing for storing and use application setting of the acquired digital certificate. An encryption processing unit 306 is a module which operates to perform various encryption processing operations, such as encryption and decryption processing of data, generation and verification of an electronic signature, and generation of hash values. In acquisition and renewal processing for a digital certificate in the first exemplary embodiment, the encryption processing unit 306 performs encryption processing required for generation and analysis processing of request and response data in SCEP. A key pair and certificate management unit 307 is a module which manages public key pairs and digital certificates which the multifunction peripheral 100 retains. The key pair and certificate management unit 307 stores data about public key pairs and digital certificates together with various setting values in the RAM 203 or the HDD 204. Moreover, processing for, for example, detailed displaying, generation, and deletion of public key pairs and digital certificates is not illustrated in the first exemplary embodiment, but can also be configured to be performed in response to instructions issued by the user via the operation panel 212. Control of the operation panel 212 and the panel control unit 208 is performed by a user interface (UI) control unit 308. Furthermore, even in encryption communication processing using, for example, TLS, IPsec, or IEEE 802.1X, which is performed by the communication control unit 303, encryption processing is performed by the encryption processing unit 306, so that the communication control unit 303 acquires public key pair and digital certificate data, which is to be used, from the key pair and certificate management unit 307.
A printing or reading processing unit 309 is a module which operates to perform the function of, for example, printing by the printer 210 or reading of an original by the scanner 211. A device control unit 310 is a module which generates control commands or control data for the multifunction peripheral 100 and comprehensively controls the multifunction peripheral 100. Furthermore, the device control unit 310 according to the first exemplary embodiment performs control of an electric power supply for the multifunction peripheral 100 and performs reboot processing of the multifunction peripheral 100 in response to an instruction from the web page control unit 304.
In the first exemplary embodiment, as the designation of a renewal date and a renewal interval, three setting values, i.e., a renewal date 1801, a validity period 1802, and a cycle 1803, are available. In the present exemplary embodiment, these setting values are collectively referred to as “certificate renewal reservation setting”. The renewal date 1801 is used to designate year, month, day, and time at which to perform renewal, and, when the current date and time retained in the multifunction peripheral 100 has reached the date and time of the renewal date 1801, the multifunction peripheral 100 executes the automatic renewal function for a digital certificate. The validity period 1802 is used to designate the number of days remaining until the expiration date of the certificate which is in use is reached. When the current date and time retained in the multifunction peripheral 100 has reached the date and time of the day on which the number of days remaining until the expiration date has become shorter than the designated number of days, the multifunction peripheral 100 executes the automatic renewal function for a digital certificate. The cycle 1803 is a cycle with which the multifunction peripheral 100 executes the automatic renewal function for a digital certificate. In the first exemplary embodiment, this cycle is able to be set with any one of the number of days, a predetermined day of each month, and a predetermined month and day of each year. Moreover, in the first exemplary embodiment, setting of the renewal date or renewal cycle for a certificate is referred to as “renewal reservation setting for a certificate”. When the renewal reservation setting for a certificate is completed, the CPU 201 stores such information in the HDD 204.
Moreover, the screen illustrated in
In a case where “delete preceding certificate with same use application setting” setting 18051 is enabled, a certificate obtained before renewal with the same use application as the use application, such as TLS, designated in the use application 1305 of the key illustrated in
In a case where “delete certificate with no use application setting” setting 18052 is enabled, the multifunction peripheral 100 determines that a certificate which is not yet subjected to use application setting in certificates retained in the multifunction peripheral 100 is not in use and thus automatically deletes such a certificate.
In a case where “delete only in case of self-signed certificate” setting 18053 is enabled, the multifunction peripheral 100 deletes a self-signed certificate retained in the multifunction peripheral 100 before renewal. The reason why the condition of not deleting certificates other than self-signed certificates is employed is that there may be a usage situation in which, since an externally purchased certificate may be included in the certificates retained in the multifunction peripheral 100, the multifunction peripheral 100 may not be able to determine whether to automatically delete such a certificate.
In a case where “delete factory default certificate” setting 18054 is enabled, the multifunction peripheral 100 deletes a factory default certificate retained in the multifunction peripheral 100 before renewal. The reason why the condition of not deleting certificates other than factory default certificates is employed is that there may be a usage situation in which the multifunction peripheral 100 may not be able to determine whether to automatically delete a certificate later input to the multifunction peripheral 100.
In a case where “delete certificate with expiration date thereof passed” setting 18055 is enabled, if the expiration date of a certificate retained in the multifunction peripheral 100 is passed before renewal, the certificate is not able to be used, and, therefore, the multifunction peripheral 100 automatically deletes such a certificate. Furthermore, the CPU 201 stores these setting values in the HDD 204.
Furthermore, while, in the first exemplary embodiment, the certificate automatic deletion setting is able to be set only via the renewal reservation setting screen illustrated in
First, in step S1901, the CPU 201 acquires renewal reservation setting for a certificate from the HDD 204. Next, the processing proceeds to step S1902, in which the CPU 201 acquires information about a digital certificate which is currently in use. This information is, for example, information retained as illustrated in
On the other hand, if it is determined that the renewal of the digital certificate is necessary (YES in step S1904), the processing proceeds to step S1905, thus shifting to control of “certificate issuance request processing” illustrated in
In step S1906, the CPU 201 acquires certificate automatic deletion setting illustrated in
Next, in step S1907, the CPU 201 determines whether the certificate automatic deletion setting is enabled, and, if it is determined that the certificate automatic deletion setting is not enabled (NO in step S1907), the processing proceeds to step S1910. If, in step S1907, it is determined that the certificate automatic deletion setting is enabled (YES in step S1907), then in step S1908, the CPU 201 determines whether there is a certificate meeting a condition for deletion target. Specifically, the CPU 201 determines whether, with respect to each certificate retained in the multifunction peripheral 100, at least one of the settings 18043 and 18051 to 18055 illustrated in
This sequence is started in response to an instruction for displaying a key pair and digital certificate list being input by the user. While, in the first exemplary embodiment, an example in which processing is performed with respect to one multifunction peripheral 100 is described, processing can be performed with respect to a plurality of multifunction peripherals 100 and 101 in response to a start instruction issued one time. For example, the PC 103 can output requests to the multifunction peripherals 100 and 101, and the respective multifunction peripherals 100 and 101 can perform processing illustrated in flowcharts described below. At this time, a process of acquiring certificates from the multifunction peripherals 100 and 101, displaying the certificates, and requesting confirmation thereof can be skipped. Then, a certificate the expiration date of which has been passed can be automatically detected by a multifunction peripheral, bibliographic information thereof (a certificate identifier (ID) and an expiration date) can be sent to the PC 103, and the PC 103 can cause a plurality of multifunction peripherals to automatically perform renewal of certificates the expiration date of which is about to be passed or has been passed. This operation is what is called “silent install”.
First, in step S401, upon receiving connection from the PC 103, the multifunction peripheral 100 receives a display request for a key pair and digital certificate list retained by the multifunction peripheral 100, which is transmitted from the PC 103. In the first exemplary embodiment, the administrator of the multifunction peripheral 100 is assumed to connect to the RUI function of the web page form for an issuance request and acquisition of a digital certificate, which the multifunction peripheral 100 publishes, with use of a web browser mounted in the PC 103, thus performing an operation for, for example, issuing an instruction. The term “RUI”, which is an abbreviation for remote user interface, refers to a technique to be able to remotely request operation screen data for the multifunction peripheral 100 or 101 with use of the web browser of the PC 103 and to cause the PC 103 to display such data. At this time, the operation screen data can be implemented with HTML or a servlet.
Next, in step S402, the multifunction peripheral 100 performs acquisition of data for displaying a list of key pairs and digital certificates, which is retained by the multifunction peripheral 100, and generation processing for a web page used to display such data.
Moreover,
The flowchart of
Information about a digital certificate displayed in the list illustrated in
Furthermore, although not illustrated in the sequence diagram of
This causes the detailed information about the digital certificate, such as that illustrated in
First, in step S511, the CPU 201 receives an acquisition request for detailed information about a digital certificate. Next, the processing proceeds to step S512, in which the CPU 201 acquires detailed information about key pairs and digital certificates illustrated in
Referring back to the description of
Furthermore, the above-described processing operations in steps S401 to S403 illustrated in
Then, in step S404, the multifunction peripheral 100 receives, from the PC 103, a display request for a connection setting screen of an SCEP server. In the first exemplary embodiment, to perform connection setting with the certificate authority and registration authority 102, the administrator of the multifunction peripheral 100 is assumed to click a “connection setting” key 1002 illustrated in
Next, in step S405, the multifunction peripheral 100 transmits, to the PC 103, HTML data of a predetermined connection setting screen of an SCEP server illustrated in
The connection setting screen illustrated in
Next, in step S406, the multifunction peripheral 100 receives a setting instruction request for connection setting from the PC 103. In the first exemplary embodiment, the administrator of the multifunction peripheral 100 is assumed to perform inputting into the server name 1016 and the port number 1017 illustrated in
Next, in step S407, the multifunction peripheral 100 performs setting processing for connection setting and generation processing for a web page screen representing a setting result, and, in step S408, the multifunction peripheral 100 transmits, to the PC 103, HTML data of a web page screen illustrated in
First, in step S601, the CPU 201 receives a setting request for connection setting from the PC 103. Next, the processing proceeds to step S602, in which the CPU 201 receives the setting values of the host name and the port number included in the setting request for connection setting, and stores the acquired setting values in the RAM 203 or the HDD 204. Next, the processing proceeds to step S603, in which the CPU 201 generates, for example, HTML data of a web page screen illustrated in
The above-described processing operations in steps S406 to S408 and steps S601 to S604 correspond to control concerning processing for connection setting which is performed by the multifunction peripheral 100.
Next, in step S409 illustrated in
With this, in step S410, the multifunction peripheral 100 transmits HTML data of a predetermined acquisition screen for a CA certificate illustrated in
The connection setting screen illustrated in
Next, in step S411, the multifunction peripheral 100 receives an acquisition request for a CA certificate, which is transmitted from the browser of the PC 103 in response to the “execution” button 1102 illustrated in
Next, in step S412, the multifunction peripheral 100 performs generation processing for acquisition request data for a CA certificate. Then, the processing proceeds to step S413, in which the multifunction peripheral 100 transmits the acquisition request data for a CA certificate generated in step S412 to the certificate authority and registration authority 102, which is an SCEP server, based on the information set in step S407. Then, the processing proceeds to step S414, in which the multifunction peripheral 100 receives a response to the acquisition request for a CA certificate, which is transmitted from the certificate authority and registration authority 102. Then, the processing proceeds to step S415, in which the multifunction peripheral 100 performs processing for analyzing the received acquisition response for a CA certificate, acquiring a CA certificate included in the response, and registering the acquired CA certificate as a CA certificate which the multifunction peripheral 100 trusts. Then, the processing proceeds to step S416, in which the multifunction peripheral 100 transmits HTML data of a web page screen illustrated in
First, in step S701, the CPU 201 receives an acquisition request for a CA certificate from the PC 103. Next, the processing proceeds to step S702, in which the CPU 201 generates a message of the acquisition request for a CA certificate based on information about the connection setting performed with respect to the certificate authority and registration authority 102 acquired in step S407. The following is an example of a message of the acquisition request which is generated in the first exemplary embodiment. In the first exemplary embodiment, since SCEP is used as a communication protocol, the following serves as a request message which is output to use such a protocol.
Next, the processing proceeds to step S703, in which the CPU 201 performs connection to the certificate authority and registration authority 102, which is an SCEP server, with the TCP/IP protocol based on the connection setting performed with respect to the certificate authority and registration authority 102 acquired in step S407 illustrated in
In step S705, the CPU 201 transmits the acquisition request message for a CA certificate generated in step S702 to the certificate authority and registration authority 102 with the GET or POST method of the HTTP protocol. Next, the processing proceeds to step S706, in which the CPU 201 determines whether the transmission performed in step S705 is successful, and, if it is determined that the transmission is successful (YES in step S706), the processing proceeds to step S707 and, if it is determined that the transmission is failed (NO in step S706), the processing proceeds to step S714. In step S707, the CPU 201 receives response data transmitted from the certificate authority and registration authority 102 with respect to the acquisition request for a CA certificate. Then, the processing proceeds to step S708, in which the CPU 201 determines whether the reception of response data performed in step S707 is successful, and, if it is determined that the reception is successful (YES in step S708), the processing proceeds to step S709 and, if it is determined that the reception is failed (NO in step S708), the processing proceeds to step S714. In step S709, the CPU 201 analyzes the response data received in step S707, and thus acquires a CA certificate included in the received response data. The analysis processing of the response data and the acquisition processing of the CA certificate are performed by the encryption processing unit 306.
Furthermore, the response data in the first exemplary embodiment is assumed to be binary data of the X.509 (RFC 5280) format. However, for example, data of the PKCS #7 (RFC 5652: Cryptographic Message Syntax (CMS)) format can be transmitted as a response, so that there is no particular limitation with respect to a data format.
Next, the processing proceeds to step S710, in which the CPU 201 determines whether the acquisition of a CA certificate performed in step S709 is successful, and, if it is determined that the acquisition is successful (YES in step S710), the processing proceeds to step S711 and, if it is determined that the acquisition is failed (NO in step S710), the processing proceeds to step S714. In step S711, the CPU 201 registers the CA certificate acquired in step S709 as a CA certificate which the multifunction peripheral 100 trusts. At this time, the CPU 201 not only stores the acquired CA certificate in the RAM 203 but also causes the key pair and certificate management unit 307 to store the acquired CA certificate in a predetermined directory of the HDD 204 in which to store CA certificates which the multifunction peripheral 100 trusts. Then, the processing proceeds to step S712, in which the CPU 201 determines whether the registration processing for the CA certificate performed in step S711 is successful, and, if it is determined that the registration processing is successful (YES in step S712), the processing proceeds to step S713 and, if it is determined that the registration processing is failed (NO in step S712), the processing proceeds to step S714. In step S713, the CPU 201 generates a thumbprint (hash values by the SHA-1 algorithm) of the CA certificate, which is displayed with a character string 1201 illustrated in
In step S417, the multifunction peripheral 100 receives a display request for an issuance request screen for a certificate, which is transmitted from the browser of the PC 103. In the first exemplary embodiment, the administrator of the multifunction peripheral 100 is assumed to click a “certificate issuance request” key 1004 illustrated in
In step S2001 illustrated in
Next, the processing proceeds to step S2002, in which the CPU 201 acquires certificate renewal reservation setting from the HDD 204. Next, in step S2003, the CPU 201 determines whether the certificate renewal reservation setting acquired in step S2002 is enabled. If, in step S2003, it is determined by the CPU 201 that certificate renewal reservation setting is disabled (NO in step S2003), the processing proceeds to step S2004, in which the CPU 201 acquires storage information about certificates from the HDD 204. In the first exemplary embodiment, the number of certificates which are currently stored in the certificate list illustrated in
In step S2005, the CPU 201 determines whether the storage region for the stored certificates has reached the upper limit thereof. The upper limit of the storage region in the first exemplary embodiment is assumed to be the upper limit of the number of certificates as stored and to be up to 5, but can be a number other than this. Moreover, the upper limit of the storage region can be not the number of certificates but the size of storage region of a storage medium such as the HDD 204, and is not especially limited.
If, in step S2005, it is determined by the CPU 201 that the storage region has not reached the upper limit (NO in step S2005), then in step S2007, the CPU 201 generates HTML data of a web page screen for receiving transmission of a certificate issuance request illustrated in
The issuance request screen for a certificate illustrated in
If, in step S2003, it is determined by the CPU 201 that the certificate renewal reservation setting acquired in step S2002 is enabled (YES in step S2003), the processing proceeds to step S2006, in which the CPU 201 generates HTML data of a web page screen displaying a message indicating inhibition of transmission of a certificate issuance request, for example, illustrated in
If, in step S2005, it is determined by the CPU 201 that the storage region for stored certificates has reached the upper limit (YES in step S2005), the processing proceeds to step S2006, in which the CPU 201 generates HTML data of a web page screen displaying a message indicating inhibition of transmission of a certificate issuance request, for example, illustrated in
With the above-described processing operations in steps S2003 to S2006 and steps S2005 to S2006, the multifunction peripheral 100 allows reception of transmission of an issuance request for a certificate performed by a manual operation only in a case where certificate renewal reservation setting is disabled. In a case where certificate renewal reservation setting is enabled, a certificate is prevented from being acquired by an issuance request performed by a manual operation, so that such a situation that, when certificate acquisition is performed with use of the automatic renewal function for digital certificates, the storage region for certificates has already reached the upper limit thereof and, therefore, acquisition and renewal of a certificate are failed can be prevented.
Furthermore, in the present exemplary embodiment, in a case where certificate renewal reservation setting is enabled, reception of transmission of an issuance request for a certificate is inhibited, but does not necessarily need to be inhibited, but a configuration of displaying a warning and allowing the user to select whether to continue or cancel transmission of an issuance request for a certificate can be employed.
Next, the PC 103 receives the response transmitted in step S418 and then performs display control to display a screen illustrated in
Next, in step S419, the multifunction peripheral 100 receives an issuance request for a certificate, including pieces of input and setting information 1301 to 1306, which is transmitted from the browser of the PC 103 in response to the “execution” button 1307 in the screen illustrated in
Next, in step S420, the multifunction peripheral 100 performs generation processing for issuance request data for a certificate. Then, in step S421, the multifunction peripheral 100 transmits the issuance request data for a certificate generated in step S420 to the certificate authority and registration authority 102, which is an SCEP server, based on the information set in step S407. Then, in step S422, the multifunction peripheral 100 receives a response to the issuance request data for a certificate, which is transmitted from the certificate authority and registration authority 102. Next, in step S423, the multifunction peripheral 100 performs processing for analyzing the response to the issuance request data for a certificate received in step S422 (execution of signature verification corresponding to setting, acquisition of a certificate included in the response, and setting of the acquired certificate to the designated use application). Then, the multifunction peripheral 100 performs generation processing for a web page screen indicating a result of the issuance request for a certificate.
Here, in a case where the issuance and acquisition of a certificate are successful, storing and use application setting of digital certificate data are performed by processing in step S423. Here, the use application refers to a communication function using a digital certificate, and, in the first exemplary embodiment, encryption communications, such as TLS, IPsec, and IEEE 802.1X, become able to be set. Moreover, the multifunction peripheral 100 according to the first exemplary embodiment is able to have a plurality of digital certificates and is assumed to perform use application setting for every digital certificate. For example, in a case where a digital certificate which the multifunction peripheral 100 uses to provide a server service for performing TLS communication as a web server is different from a digital certificate which the multifunction peripheral 100 uses to perform client communication using IEEE 802.1X, use applications can be set for the respective digital certificates. However, one digital certificate can be automatically applied to all of the use applications of communication.
Then, in step S424, the multifunction peripheral 100 transmits HTML data of a web page screen illustrated in
In a case where the issuance and acquisition of a certificate are successful in the above-described way, storing and use application setting of digital certificate data are performed by processing in step S423. The communication control unit 303 in the first exemplary embodiment acquires data about a digital certificate which encryption communications of TLS, IPsec, and IEEE 802.1X use, at the time of start-up of the multifunction peripheral 100, and, therefore, in a case where use applications are changed, it becomes necessary to reboot the multifunction peripheral 100.
First, in step S81, the CPU 201 receives an issuance request for a certificate from the PC 103.
Next, in step S82, the CPU 201 acquires certificate renewal reservation setting from the HDD 204.
Next, if, in step S83, it is determined by the CPU 201 that the certificate renewal reservation setting acquired in step S82 is disabled (NO in step S83), the processing proceeds to step S84, in which the CPU 201 acquires storage information about certificates from the HDD 204. Then, the processing proceeds to step S85, in which the CPU 201 determines whether the storage region for stored certificates has reached the upper limit thereof.
If, in step S85, it is determined by the CPU 201 that the storage region for stored certificates has not reached the upper limit (NO in step S85), the processing proceeds to step S802.
If, in step S83, it is determined by the CPU 201 that the certificate renewal reservation setting acquired in step S82 is enabled (YES in step S83), the processing proceeds to step S823, in which the CPU 201 performs error processing and, then in step S824, generates HTML data of a web page screen displaying a message indicating inhibition of transmission of a certificate issuance request, for example, illustrated in
If, in step S85, it is determined by the CPU 201 that the storage region for stored certificates has reached the upper limit (YES in step S85), the processing proceeds to step S823.
With the above-described processing operations in steps S82 to S823 and steps S85 to S823, the multifunction peripheral 100 allows reception of transmission of an issuance request for a certificate performed by a manual operation only in a case where certificate renewal reservation setting is disabled. In a case where certificate renewal reservation setting is enabled, a certificate is prevented from being acquired by an issuance request performed by a manual operation, so that such a situation that, when certificate acquisition is performed with use of the automatic renewal function for digital certificates, the storage region for certificates has already reached the upper limit thereof and, therefore, acquisition and renewal of a certificate are failed can be prevented.
The difference between processing in steps S2003 to S2006 illustrated in
In step S802, the CPU 201 acquires information about the name 1301 of a certificate, the length 1302 of a key, inputs 1303 of issuance destination information, signature verification 1304, and a use application 1305 of the key, which are included in the issuance request for a certificate received in step S801. Next, the processing proceeds to step S803, in which the CPU 201 acquires the CA certificate acquired in steps S412 to S415 illustrated in
Next, the processing proceeds to step S808, in which the CPU 201 performs connection to the certificate authority and registration authority 102, which is an SCEP server, with the TCP/IP protocol based on connection setting to the certificate authority and registration authority 102 acquired in step S407 illustrated in
Next, the processing proceeds to step S813, in which the CPU 201 determines whether reception of the response data in step S812 is successful, and, if it is determined that reception is successful (YES in step S813), the processing proceeds to step S814 and, if it is determined that reception is failed (NO in step S813), the processing proceeds to step S823. In step S814, the CPU 201 determines whether there is a setting to perform signature verification, based on the setting in the signature verification 1304 acquired in step S802, and, if it is determined that there is a setting to perform signature verification (YES in step S814), the processing proceeds to step S815 and, if there is a setting not to perform signature verification (NO in step S814), the processing proceeds to step S817. In step S815, the CPU 201 verifies signature data appended to the data received in step S812 with use of a public key included in the CA certificate acquired in step S803. Then, the processing proceeds to step S816, in which the CPU 201 determines whether the result of the signature verification performed in step S815 is successful, and, if it is determined that the result of the signature verification is successful (YES in step S816), the processing proceeds to step S817 and, if it is determined that the result of the signature verification is failed (NO in step S816), the processing proceeds to step S823.
In step S817, the CPU 201 analyzes the response data received in step S812, and acquires data about a certificate included in the analyzed response data. At this time, the CPU 201 causes the encryption processing unit 306 to perform analysis of the response data and acquisition processing for a certificate. Next, the processing proceeds to step S818, in which the CPU 201 determines whether the acquisition of a certificate in step S817 is successful, and, if it is determined that the acquisition is successful (YES in step S818), the processing proceeds to step S819 and, if it is determined that the acquisition is failed (NO in step S818), the processing proceeds to step S823. In step S819, the CPU 201 registers the certificate acquired in step S818 as a digital certificate corresponding to the key pair generated in Step S804. At this time, the CPU 201 causes the key pair and certificate management unit 307 to store the public key pair generated in step S804 and the acquired digital certificate in a predetermined directory of the HDD 204 for storing key pairs and digital certificates. At this time, as illustrated in
Next, the processing proceeds to step S820, in which the CPU 201 determines whether the registration processing for a digital certificate in step S819 is successful, and, if it is determined that the registration processing is successful (YES in step S820), the processing proceeds to step S821 and, if it is determined that the registration processing is failed (NO in step S820), the processing proceeds to step S823. In step S821, the CPU 201 performs use application setting for a certificate based on information about the use application 1305 of the key acquired in step S802. At this time, as illustrated in
Next, the processing proceeds to step S822, in which the CPU 201 determines whether the use application setting in step S821 is successful, and, if it is determined that the use application setting is successful (YES in step S822), the processing proceeds to step S824 and, if it is determined that the use application setting is failed (NO in step S822), the processing proceeds to step S823. In step S823, the CPU 201 performs error processing, and the processing then proceeds to step S824. In step S824, the CPU 201 generates HTML data of an issuance request result for a certificate illustrated in
The above-described processing operations in steps S419 to S424 and steps S801 to S825 correspond to control concerning issuance request and reception processing for a digital certificate and setting of a communication use application, which are performed by the multifunction peripheral 100. In the first exemplary embodiment, processing operations for the issuance request and reception processing and the setting of a communication use application are collectively referred to as an “automatic renewal function for a digital certificate”.
This automatic renewal function for a digital certificate enables the multifunction peripheral 100 to automatically perform issuance request and reception processing for a digital certificate via a network and to perform use application setting of the received digital certificate, thus being able to reduce the trouble of a user's operation. The description refers back to
In step S425, the multifunction peripheral 100 receives a request for rebooting of the multifunction peripheral 100. In the first exemplary embodiment, the administrator of the multifunction peripheral 100 is assumed to click a “reboot” button 1309 illustrated in
Next, the processing proceeds to step S426, in which the multifunction peripheral 100 transmits HTML data of a predetermined reboot execution screen illustrated in
In the multifunction peripheral 100 according to the first exemplary embodiment, it is supposed that, when a use application of communication, such as IEEE 802.1X, is set with respect to the received digital certificate, unless reboot is performed, the set use application is not able to be reflected. This is because, for example, a digital certificate in, for example, IEEE 802.1X is loaded onto the RAM 203 at the time of start-up of the multifunction peripheral 100 and continues being used and, therefore, may not be replaced by the received digital certificate stored in the HDD 204. However, if the multifunction peripheral 100 is capable of switching digital certificates used for a use application of communication without having to be rebooted, reboot can be made unnecessary. For example, in a case where the use application is set to TLS, a configuration in which reboot is made unnecessary can be employed. For example, whether reboot is necessary can be previously set with respect to each of a plurality of use applications, and the multifunction peripheral 100 can automatically determine the necessity or unnecessity of reboot according to such reboot necessity information.
First, in step S901, the CPU 201 receives a reboot request for the multifunction peripheral 100 from the PC 103. Next, the processing proceeds to step S902, in which the CPU 201 transmits HTML data of a predetermined reboot execution screen for the multifunction peripheral 100 illustrated in
The above-described series of processing operations enables the multifunction peripheral 100 after being rebooted to utilize the digital certificate acquired from the certificate authority and registration authority 102.
According to the above-described processing, when the automatic renewal function for a certificate is enabled, certificate acquisition is inhibited from being performed by a manual operation, so that a situation in which a certificate acquired by the automatic renewal function for a certificate becomes unable to be stored can be prevented.
According to exemplary embodiments of the present invention, in a case where the function of acquiring a digital certificate from an external apparatus at a previously designated date and time or with a previously designated cycle is enabled, a situation in which the acquired certificate becomes unable to be stored can be prevented.
Embodiment(s) of the present invention can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be referred to more fully as a ‘non-transitory computer-readable storage medium’) to perform the functions of one or more of the above-described embodiment(s) and/or that includes one or more circuits (e.g., application specific integrated circuit (ASIC)) for performing the functions of one or more of the above-described embodiment(s), and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiment(s) and/or controlling the one or more circuits to perform the functions of one or more of the above-described embodiment(s). The computer may comprise one or more processors (e.g., central processing unit (CPU), micro processing unit (MPU)) and may include a network of separate computers or separate processors to read out and execute the computer executable instructions. The computer executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, one or more of a hard disk, a random access memory (RAM), a read-only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™), a flash memory device, a memory card, and the like.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
This application claims the benefit of Japanese Patent Application No. 2018-125180 filed Jun. 29, 2018, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2018-125180 | Jun 2018 | JP | national |