IP Library Granted Patent US 11,563,590
Granted Patent B1
US 11,563,590 · App. 16/018,009 · Granted Jan 24, 2023

Certificate generation method

Inventors: Peter Zachary Bowen (Bainbridge Island, WA); Todd Lawrence Cignetti (Ashburn, VA); Preston Anthony Elder, III (Fairfax, VA); Brandonn Gorman (Seattle, WA); Ronald Andrew Hoskinson (Herndon, VA); Jonathan Kozolchyk (Seattle, WA); Kenneth Lawler (Seattle, WA); Marcel Andrew Levy (Seattle, WA); Kyle Benjamin Schultheiss (Centreville, VA); Sandeep Shantharaj (Herndon, VA); Param Sharma (Haymarket, VA); Jose Maria Silveira Neto (Herndon, VA)
Assignee: Amazon Technologies, Inc.
H04L9/3268H04L9/3247
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,563,590
App. No.
16/018,009
Granted
Jan 24, 2023
Kind
B1
Abstract

A computing resource service provider provides a certificate management service that allows customers of the computing resource service provider to create, distribute, manage, and revoke digital certificates issued by public and/or private certificate authorities. In an embodiment, when a new certificate is generated, a certificate template is used to apply various settings and policies for the new certificate. In various examples, templates may be used to establish default values, enforce required and optional values, place restrictions on one or more data fields, and enforce signature requirements. In some embodiments, the template establishes rules for rejecting certificate requests that don't conform to the template.

Claims (65)

1. A computer-implemented method, comprising:

generating a certificate template based at least in part on interactions with a first interface indicating a set of rules associated with the certificate template to be applied to one or more fields of a digital certificate;

generating, a set of permissions to operate the certificate template, where the set of permissions is granted to a second account;

in response to providing a second interface based at least in part on one or more certificate templates associated with a first account, obtaining, at a private certificate authority service, a request to generate a private digital certificate;

selecting the certificate template from a plurality of certificate templates based at least in part on information included in the request, where the plurality of certificate templates comprises the certificate template from the second account with the set of permissions and the one or more certificate templates associated with the first account;

generating a private digital certificate in accordance with the set of rules associated with the certificate template;

generating a digital signature for the private digital certificate using a private key of a private certificate authority; and

providing the private digital certificate and the digital signature.

2. The computer-implemented method of claim 1 , wherein the first interface includes a set of webpages that allows a user to determine the set of rules.

3. The computer-implemented method of claim 1 , wherein the certificate template specifies that the digital signature be generated using a signature scheme that matches the signature scheme of the private certificate authority.

4. The computer-implemented method of claim 1 , wherein:

the request specifies the private certificate authority; and

the plurality of certificate templates is associated with the private certificate authority.

5. A system, comprising:

one or more processors; and

memory to store computer-executable instructions that, as a result of being executed, cause the one or more processors to:

obtain a set of interactions with a first interface indicating a set of rules to be applied to a set of fields of a digital certificate, the set of rules maintained in a template;

generate a set of permissions to operate the template, where the set of permissions is granted to one or more accounts;

in response to a second interface to indicate a second template associated with a first account different from the one or more accounts, obtain, at a private certificate authority service, a request to generate a private digital certificate;

select, from a plurality of templates, the template based at least in part on an indication included in the request, wherein the plurality of templates comprise the second template and the template provided by the one or more accounts;

generate the private digital certificate in accordance with at least one rule of the set of rules maintained in the template;

generate a digital signature for the private digital certificate using a private key of a private certificate authority; and

provide the private digital certificate and the digital signature to the first account.

6. The system of claim 5 , wherein the computer-executable instructions, as a result of being executed, further cause the system to:

determine that a value included in the request associated with a field of the set of fields that does not comply with the template; and

reject the request.

7. The system of claim 5 , wherein the computer-executable instructions, as a result of being executed, further cause the system to:

determine that information included in the request does not comply with the template;

modify the information included in the request to be in compliance with the template; and

fulfill the modified request.

8. The system of claim 7 , wherein the computer-executable instructions, as a result of being executed, further cause the system to:

determine that a certificate extension required by the template is not present in the request; and

modify the request to add the certificate extension to the private digital certificate.

9. The system of claim 7 , wherein the computer-executable instructions, as a result of being executed, further cause the system to:

determine that a subject required by the template is missing from the request; and

modify the request to add the subject to the digital certificate.

10. The system of claim 7 , wherein the computer-executable instructions, as a result of being executed, further cause the system to:

determine that an expiration included in the request exceeds an allowable expiration value specified by the digital certificate; and

modify the digital certificate to not exceed the allowable expiration value specified by the digital certificate.

11. The system of claim 5 , wherein the request to generate a private digital certificate is a certificate signing request that includes a name of a requester, a public key, and a digital signature generated with a private key corresponding to the public key.

12. The system of claim 5 , wherein the template includes one or more fields that are prevented to be overridden by the request.

13. A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of being executed by one or more processors of a computer system, cause the computer system to at least:

generate a template based at least in part on a set of interactions with a first interface, the set of interactions indicating a set of rules associated with one or more fields of a digital certificate;

generate a set of permissions to operate the template, where the set of permissions is granted to a second account;

cause a second interface to be provided based at least in part on one or more templates associated with a first account different from the second account;

obtain, at a private certificate authority service, a request to generate the digital certificate;

select, from a plurality of templates based at least in part on the request, the template, the plurality of templates configurable by the second account and comprising the one or more templates associated with the first account;

generate the digital certificate in accordance with the selected template;

generate a digital signature for the digital certificate using a private key of a private certificate authority; and

provide the digital certificate and the digital signature to the first account.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the executable instructions further comprise instructions that, as a result of being executed by the one or more processors, cause the computer system to:

determine that the request to generate the digital certificate produces a conflict with the selected template; and

reject the request as a result of the conflict.

15. The non-transitory computer-readable storage medium of claim 14 , wherein the request specifies a subject value that conflicts with a restriction on the subject value indicated in the selected template.

16. The non-transitory computer-readable storage medium of claim 14 , wherein the request specifies a value that is outside of a range specified in the selected template.

17. The non-transitory computer-readable storage medium of claim 13 , wherein the executable instructions further comprise instructions that, as a result of being executed by the one or more processors, cause the computer system to:

determine that the digital certificate does not conform to the selected template; and

modify the digital certificate to conform to the selected template.

18. The non-transitory computer-readable storage medium of claim 13 , wherein the executable instructions further comprise instructions that, as a result of being executed by the one or more processors, cause the computer system to:

determine that expiration of the digital certificate exceeds expiration of the private certificate authority; and

set the expiration of the digital certificate to that of the private certificate authority.

19. The non-transitory computer-readable storage medium of claim 13 , wherein the one or more templates include the template.

20. The non-transitory computer-readable storage medium of claim 13 , wherein the executable instructions further comprise instructions that, as a result of being executed by the one or more processors, cause the computer system to:

determine that a value required by the selected template is missing from the request; and

add the value to the digital certificate.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2022
From: CIGNETTI, TODD LAWRENCE; GORMAN, BRANDONN; KOZOLCHYK, JONATHAN; LAWLER, KENNETH; LEVY, MARCEL ANDREW; SCHULTHEISS, KYLE BENJAMIN; SHANTHARAJ, SANDEEP; SHARMA, PARAM; SILVEIRA NETO, JOSE MARIA
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 062039/0612 →
Continuity (1)
Provisional Application 62652235 · Apr 3, 2018
Cited By (9)
US 12,212,694 US 12,375,302 US 12,388,663 US 12,456,058 US 12,483,543 US 12,537,697 US 12,556,919 US 12,598,077 US 12,712,872