IP Library › Granted Patent US 11,888,997
Granted Patent B1
US 11,888,997 · App. 16/018,014 · Granted Jan 30, 2024

Certificate manager

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/0897H04L9/3247H04L9/3297
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,888,997
App. No.
16/018,014
Filed
Jun 25, 2018
Granted
Jan 30, 2024
Kind
B1
Art Unit
2492
USPC
713/156
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, customers may use the certificate management service to generate private certificate authority which can issue signed certificates to network entities within the customer enterprise. In an embodiment, the private certificate authority is hosted by the computing resource service provider, and the certificate management service automates the renewal and management of active certificates. In an embodiment, the certificate management service allows customer applications to create, renew, and revoke certificates issued by both private and public certificate authorities via an application programming interface.

Claims (75)

1. A system, comprising:

one or more processors; and

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

provide, to a client computer system associated with an account of a computing resource service provider, an interface for:

creating a private certificate authority; and

performing operations to one or more digital certificates;

obtain, at a certificate management service of the computing resource service provider, a first request from the interface to create a first private certificate authority within a computing resource environment provided by the computing resource service provider;

provision, based at least in part on a first operation of the certificate management service, a computer system within the computing resource environment to operate as the first private certificate authority in accordance with parameters specified with the first request;

obtain, at the certificate management service over a first communication channel, a second request to perform an operation to a digital certificate of the one or more digital certificates;

generate, by the certificate management service, a determination that an issuer of the digital certificate is a second private certificate authority, the second private certificate authority being:

created based at least in part on a second operation of the certificate management service within the computing resource environment; and

accessible, by the client computer system, through an application programming interface provided by the certificate management service, over a second communication channel comprising a distinct protocol from the first communication channel; and

based at least in part on the determination, cause the second private certificate authority to perform the second operation by at least providing the second private certificate authority with the second request obtained by the certificate management service through the application programming interface.

2. The system of claim 1 , wherein the computer-executable instructions further cause the system to:

provision a hardware security module for use with the first private certificate authority, the hardware security module storing a cryptographic key associated with the first private certificate authority; and

generate a digital signature for the digital certificate using the hardware security module.

3. The system of claim 1 , wherein:

the interface includes a web page running on the client computer system for entering a parameter of the first request; and

the computer-executable instructions further cause the system to:

obtain the parameter from the client computer system.

4. The system of claim 1 , wherein the operation is performed on a public certificate authority by at least generating a certificate signing request and submitting the certificate signing request to the public certificate authority.

5. A computer-implemented method, comprising:

obtaining, at a certificate management service of a computing resource service provider and from an interface for creating a private certificate authority and performing an operation to one or more certificates, a first request to create a first private certificate authority over a first communication channel within a first network provided by the computing resource service provider and associated with an account of the computing resource service provider;

provisioning, by the certificate management service, within the first network, a computer system to operate as the first private certificate authority in accordance with a parameter specified with the first request;

obtaining, through an application programming interface at the certificate management service, a second request to perform an operation to a digital certificate of the one or more digital certificates;

identifying, by the certificate management service, from a plurality of certificate authorities that includes a public certificate authority and a second private certificate authority, that the second private certificate authority issued the digital certificate and is:

provisioned at least in part by the certificate management service; and

accessible, through the application programming interface, by the plurality of certificate authorities; and

causing, based at least in part on the identification, the operation to be performed by the second private certificate authority by at least providing, over a second communication channel comprising a distinct protocol from the first communication channel, the second private certificate authority with the second request through an endpoint of the certificate management service within an environment.

6. The computer-implemented method of claim 5 , wherein:

the operation is a certificate signing operation; and

performing the operation is accomplished by at least generating a digital signature of the digital certificate.

7. The computer-implemented method of claim 5 , wherein:

the computer system is a virtual computer system instance; and

the computer system is provisioned by at least provisioning the virtual computer system instance.

8. The computer-implemented method of claim 5 , wherein the second private certificate authority is identified by at least:

identifying subject information of the digital certificate; and

determining that the second private certificate authority is associated with the subject information.

9. The computer-implemented method of claim 5 , wherein the parameter includes information that allows use of a private cryptographic key to be associated with the first private certificate authority.

10. The computer-implemented method of claim 9 , wherein the information is an encrypted version of the private cryptographic key that, as a result of being downloaded to a hardware security module, allows the private cryptographic key to be used to generate a digital signature.

11. The computer-implemented method of claim 5 , wherein the operation is a certificate signing operation, a certificate renewal operation, or a certificate revocation operation.

12. The computer-implemented method of claim 5 , further comprising:

provisioning a hardware security module for performing the operation, the hardware security module storing a cryptographic key associated with the public certificate authority that issued the digital certificate; and

performing the operation using the hardware security module.

13. A non-transitory computer-readable storage medium storing 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:

provide, to a client computer system, an interface for creating a private certificate authority and performing an operation to one or more digital certificates;

obtain a request in response to the interface to create a first private certificate authority over a first communication channel within a first network provided by a computing resource service provider;

provision, at least in part by a certificate management service, a computer system to operate as the first private certificate authority in accordance with a parameter specified with the request within the first network;

obtain, at the certificate management service, a request to perform an operation to a digital certificate of the one or more digital certificates, where the request includes an application programming interface (API) call directed to the certificate management service;

identify, from a plurality of certificate authorities that includes a public certificate authority and a second private certificate authority, that the second private certificate authority issued the digital certificate and is:

provisioned at least in part by the certificate management services; and

accessible through the API provided by the certificate management service; and

cause, based at least in part on the identification, the operation to be performed by at least providing the second private certificate authority with the request through a second communication channel of the certificate management service within an environment, the second communication channel comprising a distinct protocol from the first communication channel.

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:

obtain a template with the request to perform the operation to the digital certificate; and

perform the operation in accordance with a constraint described in the template.

15. 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:

retrieve certificate information from a data store based on a serial number of the digital certificate; and

identify the second private certificate authority that issued the digital certificate using the certificate information.

16. 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:

provision a hardware security module for use with the first private certificate authority, the hardware security module storing a cryptographic key associated with the first private certificate authority; and

generate a digital signature for the digital certificate using the hardware security module.

17. The non-transitory computer-readable storage medium of claim 13 , wherein:

the request to perform the operation to the digital certificate is a certificate signing request; and

the second private certificate authority is identified based on a subject field of the certificate signing request.

18. The non-transitory computer-readable storage medium of claim 13 , wherein:

the interface includes a web page accessible to a browser running on the client computer system; and

the executable instructions further comprise instructions that, as a result of being executed by the one or more processors, cause the computer system to:

obtain the request to perform the operation to the digital certificate in response to a request from the client computer system via the web page accessible to a browser.

19. The non-transitory computer-readable storage medium of claim 13 , wherein:

the operation is a certificate renewal operation; and

the computer system causes the second private certificate authority to sign a new digital certificate that replaces the digital certificate.

20. The non-transitory computer-readable storage medium of claim 13 , wherein:

the request is obtained from an application running on a client computer system via a network-accessible application programming interface; and

the request is authenticated using a digital signature of the request.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2021
From: BOWEN, PETER ZACHARY; CIGNETTI, TODD LAWRENCE; ELDER, PRESTON ANTHONY, III; 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 054813/0519 →
Continuity (1)
Provisional Application 62652236 · Apr 3, 2018
Cited By (20)
US 12,278,901 US 12,375,302 US 12,388,661 US 12,401,526 US 12,401,634 US 12,401,657 US 12,407,526 US 12,425,239 US 12,425,240 US 12,432,076 US 12,438,733 US 12,483,543 US 12,495,032 US 12,562,966 US 12,563,029 US 12,585,988 US 12,671,595 US 12,700,993 US 12,719,850 US 12,726,368