IP Library Granted Patent US 8,572,368
Granted Patent B1
US 8,572,368 · App. 13/243,047 · Granted Oct 29, 2013

Systems and methods for generating code-specific code-signing certificates containing extended metadata

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 8,572,368
App. No.
13/243,047
Granted
Oct 29, 2013
Kind
B1
Abstract

A computer-implemented method for generating code-specific code-signing certificates may include (1) receiving a code-signing request from a software publisher to sign code, the code-signing request including both information that uniquely identifies the code and metadata that identifies at least one characteristic of the code, (2) signing the code by generating a unique, code-specific digital certificate for the code that is valid only for the code in question and includes at least a portion of the metadata contained within the code-signing request, and then (3) providing the code-specific digital certificate to the software publisher to enable the software publisher to attest that the code originated from the software publisher and has not been altered since leaving the software publisher's possession. Various additional methods, systems, and encoded computer-readable media are also disclosed.

Claims (59)

1. A computer-implemented method for generating code-specific code-signing certificates containing extended metadata, at least a portion of the method being performed by a computing system comprising at least one processor, the method comprising:

receiving a code-signing request from a software publisher to sign code, the code-signing request comprising:

information that uniquely identifies the code;

metadata that identifies at least one characteristic of the code;

in response to the code-signing request, signing the code by generating a unique, code-specific digital certificate for the code, wherein the code-specific digital certificate is valid only for the code in question and includes at least a portion of the metadata contained within the code-signing request;

providing the code-specific digital certificate to the software publisher to enable the software publisher to attest that the code originated from the software publisher and has not been altered since leaving the software publisher's possession;

revoking the code-specific digital certificate to prevent relying parties from trusting the code associated with the code-specific digital certificate.

2. The method of claim 1 , wherein the metadata identifies at least one of:

an application name associated with the code;

a version number associated with the code;

a content rating associated with the code;

an application category associated with the code.

3. The method of claim 1 , wherein the information that uniquely identifies the code comprises at least one of:

a copy of the code;

a digital fingerprint that uniquely identifies the code.

4. The method of claim 1 , wherein the code-signing request further comprises a request to prevent at least a portion of the metadata from being included within the code-specific digital certificate.

5. The method of claim 1 , wherein the code-signing request further comprises a publisher-defined validity period that specifies a limited period of time that the code-specific digital certificate is to be valid.

6. The method of claim 5 , wherein generating the code-specific digital certificate comprises including expiration data within the code-specific digital certificate that specifies that the code-specific digital certificate expires at the end of the publisher-defined validity period.

7. The method of claim 6 , wherein the code-specific digital certificate further includes a certificate extension that specifies that relying parties should not ignore the expiration data contained within the code-specific digital certificate, even if an otherwise valid timestamp is present.

8. The method of claim 1 , wherein the code-specific digital certificate further includes at least one of:

information that identifies the software publisher;

information that identifies an entity responsible for signing the code;

a checksum of the code;

a digital signature created using a private key.

9. The method of claim 1 , wherein the code-specific digital certificate is revoked in response to a determination that the code-specific digital certificate is invalid.

10. The method of claim 1 , wherein revoking the code-specific digital certificate comprises revoking the code-specific digital certificate in response to a revocation request from the software publisher.

11. The method of claim 1 , wherein revoking the code-specific digital certificate comprises:

identifying criteria for identifying at least one digital certificate that is to be revoked;

determining that at least a portion of the metadata associated with the code-specific digital certificate satisfies the criteria;

revoking the code-specific digital certificate.

12. A system for generating code-specific code-signing certificates containing extended metadata, the system comprising:

an intake module programmed to receive a code-signing request from a software publisher to sign code, the code-signing request comprising:

information that uniquely identifies the code;

metadata that identifies at least one characteristic of the code;

a signing module programmed to sign the code by generating a unique, code-specific digital certificate for the code, wherein the code-specific digital certificate is valid only for the code in question and includes at least a portion of the metadata contained within the code-signing request;

a delivery module programmed to provide the code-specific digital certificate to the software publisher to enable the software publisher to attest that the code originated from the software publisher and has not been altered since leaving the software publisher's possession;

a revocation module programmed to revoke the code-specific digital certificate to prevent relying parties from trusting the code associated with the code-specific digital certificate;

at least one processor configured to execute the intake module, the signing module, and the delivery module.

13. The system of claim 12 , wherein the metadata identifies at least one of:

an application name associated with the code;

a version number associated with the code;

a content rating associated with the code;

an application category associated with the code.

14. The system of claim 12 , wherein the code-signing request further comprises a request to prevent at least a portion of the metadata from being included within the code-specific digital certificate.

15. The system of claim 12 , wherein the code-signing request further comprises a publisher-defined validity period that specifies a limited period of time that the code-specific digital certificate is to be valid.

16. The system of claim 15 , wherein the signing module is programmed to generate the code-specific digital certificate by including expiration data within the code-specific digital certificate that specifies that the code-specific digital certificate expires at the end of the publisher-defined validity period.

17. The system of claim 12 , wherein the revocation module is programmed to revoke the code-specific digital certificate in response to a determination that the code-specific digital certificate is invalid.

18. The system of claim 12 , wherein the revocation module is programmed to revoke the code-specific digital certificate in response to a revocation request from the software publisher.

19. The system of claim 12 , wherein the revocation module is programmed to revoke the code-specific digital certificate by:

identifying criteria for identifying at least one digital certificate that is to be revoked;

determining that at least a portion of the metadata associated with the code-specific digital certificate satisfies the criteria;

revoking the code-specific digital certificate.

20. A non-transitory computer-readable-storage medium comprising one or more computer-executable instructions that, when executed by at least one processor of a computing device, cause the computing device to:

receive a code-signing request from a software publisher to sign code, the code-signing request comprising:

information that uniquely identifies the code;

metadata that identifies at least one characteristic of the code;

in response to the code-signing request, sign the code by generating a unique, code-specific digital certificate for the code, wherein the code-specific digital certificate is valid only for the code in question and includes at least a portion of the metadata contained within the code-signing request;

provide the code-specific digital certificate to the software publisher to enable the software publisher to attest that the code originated from the software publisher and has not been altered since leaving the software publisher's possession;

revoke the code-specific digital certificate to prevent relying parties from trusting the code associated with the code-specific digital certificate.

Assignments (11)
ASSIGNMENT OF SECURITY INTERESTS IN INTELLECTUAL PROPERTY (FIRST LIEN), RECORDED ON OCTOBER 16, 2019 AT REEL 050741 FRAME 0918 Recorded Sep 24, 2025
From: UBS AG, STAMFORD BRANCH, AS SUCCESSOR TO CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS RESIGNING AGENT
To: HPS INVESTMENT PARTNERS, LLC, AS SUCCESSOR AGENT
Reel/Frame 072947/0157 →
SECOND LIEN NOTICE OF SUCCESSION OF AGENCY Recorded Jul 30, 2025
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS PRIOR AGENT
To: UBS AG, STAMFORD BRANCH, AS SUCCESSOR AGENT
Reel/Frame 072300/0068 →
ASSIGNMENT OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 19, 2021
From: JEFFERIES FINANCE LLC, AS EXISTING AGENT
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS SUCCESSOR AGENT
Reel/Frame 055345/0042 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS Recorded Oct 17, 2019
From: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
To: DIGICERT, INC.; GEOTRUST, LLC
Reel/Frame 050746/0973 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS Recorded Oct 17, 2019
From: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
To: DIGICERT, INC.; GEOTRUST, LLC
Reel/Frame 050747/0001 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Oct 16, 2019
From: DIGICERT, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 050741/0899 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Oct 16, 2019
From: DIGICERT, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 050741/0918 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 3, 2017
From: DIGICERT, INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 044681/0556 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 3, 2017
From: DIGICERT, INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 044710/0529 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2017
From: SYMANTEC CORPORATION
To: DIGICERT, INC.
Reel/Frame 044344/0650 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2011
From: DEACON, WILLIAM
To: SYMANTEC CORPORATION
Reel/Frame 026960/0895 →