Web page configuration using certificate chain of trust
Systems and methods are described for configuring a web page using chain of trust. In an example, a web browser can receive a certificate hierarchy from a web server in response to a request for a web page. The web browser can apply a hash algorithm to one or more digital security certificates in the certificate hierarchy. The web browser can send the hash values to a deployment database that stores mappings of known hash values to website configuration settings. The deployment database can respond with the corresponding configuration settings. The web browser can merge the configuration settings and apply them to the web page prior to rendering the web page on a display.
1 . A method for configuring a web page, comprising:
transmitting, by a web browser to a web server, a request for a web page;
receiving, by the web browser from the web server, a first digital certificate in response to the request for the web page;
verifying, by the web browser, the first digital certificate received from the web server;
generating, by the web browser, a first thumbprint of the first digital certificate, the first thumbprint being a hash value resulting from applying a hash algorithm to the first digital certificate;
sending, by the web browser to a deployment database, a request to retrieve first configuration settings for the web page, the request to retrieve the first configuration settings including the first thumbprint;
receiving, from the deployment database, the first configuration settings corresponding to the first thumbprint, wherein the first configuration settings are mapped to the first thumbprint in the deployment database and wherein the first configuration settings are retrieved from the deployment database based on the first thumbprint;
applying the first configuration settings to the web page by the web browser; and
rendering the web page to which the first configuration settings have been applied, in a display.
2 . The method of claim 1 , further comprising:
generating, by the web browser, a second thumbprint of a second digital certificate;
sending, by the web browser to the deployment database, a second request to retrieve second configuration settings, the second request including the second thumbprint;
receiving, from the deployment database, the second configuration settings corresponding to the second thumbprint;
merging the first configuration settings and the second configuration settings; and
applying the merged configuration settings to the web page.
3 . The method of claim 2 , wherein merging the first configuration settings and the second configuration settings comprises:
determining that a first setting in the first configuration settings conflicts with a second setting of the second configuration settings;
determining that the first digital certificate is a higher security level of a certificate hierarchy of the web page than the second digital certificate; and
based on the first digital certificate being a higher security level than the second digital certificate, applying the first setting to the web page and not the second setting.
4 . The method of claim 1 , wherein the first configuration settings designate an endpoint for analytics data.
5 . The method of claim 1 , wherein the first configuration settings include at least one of a restriction on pasting content into the web page and a restriction on copying content out of the web page.
6 . The method of claim 1 , wherein the first thumbprint is a hash value resulting from applying the hash algorithm to public fields of the first digital certificate.
7 . The method of claim 1 , wherein the first thumbprint is a hash value resulting from applying the hash algorithm to a certificate hierarchy of the web page.
8 . A non-transitory, computer-readable medium containing instructions that, when executed by a hardware-based processor, causes the processor to perform stages for configuring a web page, the stages comprising:
transmitting, by a web browser to a web server, a request for a web page;
receiving, by the web browser from the web server, a first digital certificate in response to the request for the web page;
verifying, by the web browser, the first digital certificate received from the web server;
generating, by the web browser, a first thumbprint of the first digital certificate, the first thumbprint being a hash value resulting from applying a hash algorithm to the first digital certificate;
sending, by the web browser to a deployment database, a request to retrieve first configuration settings for the web page, the request to retrieve the first configuration settings including the first thumbprint;
receiving, from the deployment database, the first configuration settings corresponding to the first thumbprint, wherein the first configuration settings are mapped to the first thumbprint in the deployment database and wherein the first configuration settings are retrieved from the deployment database based on the first thumbprint;
applying the first configuration settings to the web page by the web browser; and
rendering the web page to which the first configuration settings have been applied, in a display.
9 . The non-transitory, computer-readable medium of claim 8 , the stages further comprising:
generating, by the web browser, a second thumbprint of a second digital certificate;
sending, by the web browser to the deployment database, a second request to retrieve second configuration settings, the second request including the second thumbprint;
receiving, from the deployment database, the second configuration settings corresponding to the second thumbprint;
merging the first configuration settings and the second configuration settings; and
applying the merged configuration settings to the web page.
10 . The non-transitory, computer-readable medium of claim 9 , wherein merging the first configuration settings and the second configuration settings comprises:
determining that a first setting in the first configuration settings conflicts with a second setting of the second configuration settings;
determining that the first digital certificate is a higher security level of a certificate hierarchy of the web page than the second digital certificate; and
based on the first digital certificate being a higher security level than the second digital certificate, applying the first setting to the web page and not the second setting.
11 . The non-transitory, computer-readable medium of claim 8 , wherein the first configuration settings designate an endpoint for analytics data.
12 . The non-transitory, computer-readable medium of claim 8 , wherein the first configuration settings include at least one of a restriction on pasting content into the web page and a restriction on copying content out of the web page.
13 . The non-transitory, computer-readable medium of claim 8 , wherein the first thumbprint is a hash value resulting from applying the hash algorithm to public fields of the first digital certificate.
14 . The non-transitory, computer-readable medium of claim 8 , wherein the first thumbprint is a hash value resulting from applying the hash algorithm to a certificate hierarchy of the web page.
15 . A system for configuring a web page, comprising:
a memory storage including a non-transitory, computer-readable medium comprising instructions; and
a hardware-based processor that executes the instructions to carry out stages comprising:
transmitting, by a web browser to a web server, a request for a web page;
receiving, by the web browser from the web server, a first digital certificate in response to the request for the web page;
verifying, by the web browser, the first digital certificate received from the web server;
generating, by the web browser, a first thumbprint of the first digital certificate, the first thumbprint being a hash value resulting from applying a hash algorithm to the first digital certificate;
sending, by the web browser to a deployment database, a request to retrieve first configuration settings for the web page, the request to retrieve the first configuration settings including the first thumbprint;
receiving, from the deployment database, the first configuration settings corresponding to the first thumbprint, wherein the first configuration settings are mapped to the first thumbprint in the deployment database and wherein the first configuration settings are retrieved from the deployment database based on the first thumbprint;
applying the first configuration settings to the web page by the web browser; and
rendering the web page to which the first configuration settings have been applied, in a display.
16 . The system of claim 15 , the stages further comprising:
generating, by the web browser, a second thumbprint of a second digital certificate;
sending, by the web browser to the deployment database, a second request to retrieve second configuration settings, the second request including the second thumbprint;
receiving, from the deployment database, the second configuration settings corresponding to the second thumbprint;
merging the first configuration settings and the second configuration settings; and
applying the merged configuration settings to the web page.
17 . The system of claim 16 , wherein merging the first configuration settings and the second configuration settings comprises:
determining that a first setting in the first configuration settings conflicts with a second setting of the second configuration settings;
determining that the first digital certificate is a higher security level of a certificate hierarchy of the web page than the second digital certificate; and
based on the first digital certificate being a higher security level than the second digital certificate, applying the first setting to the web page and not the second setting.
18 . The system of claim 15 , wherein the first configuration settings designate an endpoint for analytics data.
19 . The system of claim 15 , wherein the first configuration settings include at least one of a restriction on pasting content into the web page and a restriction on copying content out of the web page.
20 . The system of claim 15 , wherein the first thumbprint is a hash value resulting from applying the hash algorithm to public fields of the first digital certificate.