IP Library Granted Patent US 12,229,267
Granted Patent B2
US 12,229,267 · App. 17/193,463 · Granted Feb 18, 2025

Management of local signing of software packages using a trusted execution environment

Inventors: Axel Simon (Farnborough, GB); Michael Hingston McLaughlin Bursell (Farnborough, GB)
Assignee: Red Hat, Inc.
G06F21/57G06F8/44G06F8/61H04L9/0819H04L9/14H04L9/3236H04L9/3247H04L63/04G06F2221/033G06F2221/2149
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 12,229,267
App. No.
17/193,463
Granted
Feb 18, 2025
Kind
B2
Abstract

Systems and methods providing a processing device to receive, by a software build process executing in a trusted execution environment (TEE) of a first computer system, software source code from a second computer system. The processing device generates a software package by compiling the software source code. The processing device also receives, from the second computer system, a signing key associated with the second computer system. The processing device further signs the software package using the signing key associated with the second computer system. The processing device then deploys the signed software package on the first computer system.

Claims (48)

1. A method comprising:

receiving, by a software build process executing in a trusted execution environment (TEE) of a first computer system, software source code from a second computer system;

generating, by the software build process, a software package by:

obtaining environment parameters of the first computer system, wherein the environment parameters of the first computer system indicate operating system and network configurations of the first computer system; and

building the software package from the software source code in view of the environment parameters of the first computer system to tailor the software package to the first computer system;

receiving, from the second computer system, a signing key associated with the second computer system;

signing the software package using the signing key associated with the second computer system; and

deploying the signed software package on the first computer system.

2. The method of claim 1 , wherein the second computer system is associated with a software vendor of the software source code.

3. The method of claim 1 further comprises:

responsive to signing the software package with the signing key, discarding the signing key from a memory of the first computer system.

4. The method of claim 1 , wherein building the software package comprises removing parts of the software source code that do not match the environment parameters of the first computer system.

5. The method of claim 1 , wherein the signing key is a private key of a plurality of private keys of the second computer system, and wherein each of the plurality of private keys is associated with a client of the second computer system.

6. The method of claim 1 , wherein the signing key is a private key of a plurality of private keys of the second computer system, and wherein each of the plurality of private keys is associated with a separate version of the software source code.

7. The method of claim 1 , wherein receiving the signing key from the second computer system is performed via a secured communication channel between the first computer system and the second computer system.

8. The method of claim 1 , wherein receiving the signing key from the second computer system is performed responsive to sending, by the first computer system, a request for the signing key to the second computer system.

9. The method of claim 1 further comprising:

providing the signed software package and a cryptographic signature associated with the signed software package to an operating system of the first computer system; and

installing the signed software package on the first computer system responsive to validating the signed software package using the cryptographic signature.

10. The method of claim 9 further comprising:

responsive to installing the signed software package, causing the installed software package to be accessible by other computer systems in a same trust domain as the first computer system.

11. A system comprising:

a memory; and

a processing device operatively coupled to the memory, wherein the processing device is further to:

receive, by a software build process executing in a trusted execution environment (TEE) of a first computer system, software source code from a second computer system;

generate, by the software build process, a software package by:

obtaining environment parameters of the first computer system, wherein the environment parameters of the first computer system indicate operating system and network configurations of the first computer system; and

building the software package from the software source code in view of the environment parameters of the first computer system to tailor the software package to the first computer system;

receive, from the second computer system, a signing key associated with the second computer system;

sign the software package using the signing key associated with the second computer system; and

deploy the signed software package on the first computer system.

12. The system of claim 11 , wherein the processing device is further to:

responsive to signing the software package with the signing key, discard the signing key from a memory of the first computer system.

13. The system of claim 11 , wherein the processing device is further to:

provide the signed software package and a cryptographic signature associated with the signed software package to an operating system of the first computer system; and

install the signed software package on the first computer system responsive to validating the signed software package using the cryptographic signature.

14. The system of claim 11 , wherein receiving the signing key from the second computer system is performed via a secured communication channel between the first computer system and the second computer system.

15. A non-transitory computer-readable storage medium comprising executable instructions that, when executed by a processing device, cause the processing device to:

receive, by a software build process executing in a trusted execution environment (TEE) of a first computer system, software source code from a second computer system;

generate, by the software build process, a software package by:

obtaining environment parameters of the first computer system, wherein the environment parameters of the first computer system indicate operating system and network configurations of the first computer system; and

building the software package from the software source code in view of the environment parameters of the first computer system to tailor the software package to the first computer system;

receive, from the second computer system, a signing key associated with the second computer system;

sign the software package using the signing key associated with the second computer system; and

deploy the signed software package on the first computer system.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the second computer system is associated with a software vendor of the software source code.

17. The non-transitory computer-readable storage medium of claim 15 , wherein the signing key is a private key of a plurality of private keys of the second computer system, and wherein each of the plurality of private keys is associated with a client of the second computer system.

18. The non-transitory computer-readable storage medium of claim 15 , wherein to build the software package based on the environment parameters of the first computer system, the processing device is further to remove parts of the software source code that do not match the environment parameters of the first computer system.

Assignments (2)
CHANGE OF NAME Recorded Mar 3, 2026
From: RED HAT, INC.
To: RED HAT, LLC
Reel/Frame 074913/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2021
From: SIMON, AXEL; BURSELL, MICHAEL HINGSTON MCLAUGHLIN
To: RED HAT, INC.
Reel/Frame 055509/0017 →