Skip to content
This repository has been archived by the owner on Aug 3, 2024. It is now read-only.
/ ServerCommon Public archive

Commit

Permalink
Store only the signature's end certificate instead of the full chain (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
loic-sharma authored Oct 13, 2017
1 parent 6506885 commit e7ef8ee
Show file tree
Hide file tree
Showing 7 changed files with 43 additions and 39 deletions.
13 changes: 10 additions & 3 deletions src/NuGet.Services.Validation/Entities/CertificateStatus.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,20 @@ public enum CertificateStatus
Unknown = 0,

/// <summary>
/// The <see cref="Certificate" /> has not been revoked.
/// The <see cref="Certificate" /> is valid and has not been revoked.
/// </summary>
Good = 1,

/// <summary>
/// The <see cref="Certificate" /> has been revoked.
/// The <see cref="Certificate" /> has failed offline validations. This could be for a number of reasons including
/// an untrusted root or weak hashing algorithm. Anything signed by the certificate should be considered invalid.
/// </summary>
Revoked = 2,
Invalid = 2,

/// <summary>
/// The <see cref="Certificate"/> has been revoked by the certificate authority. Anything signed by the certificate
/// after <see cref="Certificate.RevocationTime"/> should be considered invalid.
/// </summary>
Revoked = 3,
}
}
12 changes: 8 additions & 4 deletions src/NuGet.Services.Validation/Entities/PackageSignature.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.

using System;
using System.Collections.Generic;

namespace NuGet.Services.Validation
{
Expand All @@ -21,9 +20,14 @@ public class PackageSignature
/// </summary>
public int PackageKey { get; set; }

/// <summary>
/// The key to the end <see cref="Certificate"/> used to create this package signature.
/// </summary>
public long CertificateKey { get; set; }

/// <summary>
/// The time at which this signature was created. A signature is valid as long as it was signed
/// before its certificates were revoked and/or expired. This timestamp SHOULD come from a trusted
/// before its certificates were revoked and/or expired. This timestamp MUST come from a trusted
/// timestamp authority.
/// </summary>
public DateTime SignedAt { get; set; }
Expand All @@ -48,8 +52,8 @@ public class PackageSignature
public virtual PackageSigningState PackageSigningState { get; set; }

/// <summary>
/// The <see cref="Certificate"/>s used to generate this signature.
/// The end <see cref="Certificate"/> used to create this package signature.
/// </summary>
public virtual ICollection<Certificate> Certificates { get; set; }
public virtual Certificate Certificate { get; set; }
}
}
20 changes: 13 additions & 7 deletions src/NuGet.Services.Validation/Entities/ValidationContext.cs
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ public class ValidationEntitiesContext : DbContext, IValidationEntitiesContext

private const string PackageSignaturesTable = "PackageSignatures";
private const string PackageSignaturesPackageKeyIndex = "IX_PackageSignatures_PackageKey";
private const string PackageSignaturesCertificateKeyIndex = "IX_PackageSignatures_CertificateKey";
private const string PackageSignaturesStatusIndex = "IX_PackageSignatures_Status";

private const string CertificatesTable = "Certificates";
Expand Down Expand Up @@ -235,6 +236,16 @@ private void RegisterPackageSigningEntities(DbModelBuilder modelBuilder)
new IndexAttribute(PackageSignaturesPackageKeyIndex)
}));

modelBuilder.Entity<PackageSignature>()
.Property(s => s.CertificateKey)
.IsRequired()
.HasColumnAnnotation(
IndexAnnotation.AnnotationName,
new IndexAnnotation(new[]
{
new IndexAttribute(PackageSignaturesCertificateKeyIndex)
}));

modelBuilder.Entity<PackageSignature>()
.Property(s => s.Status)
.HasColumnAnnotation(
Expand All @@ -254,14 +265,9 @@ private void RegisterPackageSigningEntities(DbModelBuilder modelBuilder)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);

modelBuilder.Entity<PackageSignature>()
.HasMany(s => s.Certificates)
.HasRequired(s => s.Certificate)
.WithMany(c => c.PackageSignatures)
.Map(m =>
{
m.MapLeftKey("PackageSignatureKey");
m.MapRightKey("CertificateKey");
m.ToTable("PackageSignatureCertificates", SignatureSchema);
});
.HasForeignKey(s => s.CertificateKey);

modelBuilder.Entity<Certificate>()
.ToTable(CertificatesTable, SignatureSchema)
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,16 @@ public override void Up()
{
Key = c.Long(nullable: false, identity: true),
PackageKey = c.Int(nullable: false),
CertificateKey = c.Long(nullable: false),
SignedAt = c.DateTime(nullable: false, precision: 7, storeType: "datetime2"),
CreatedAt = c.DateTime(nullable: false, precision: 7, storeType: "datetime2"),
Status = c.Int(nullable: false),
})
.PrimaryKey(t => t.Key)
.ForeignKey("signature.Certificates", t => t.CertificateKey, cascadeDelete: true)
.ForeignKey("signature.PackageSigningStates", t => t.PackageKey, cascadeDelete: true)
.Index(t => t.PackageKey, name: "IX_PackageSignatures_PackageKey")
.Index(t => t.CertificateKey, name: "IX_PackageSignatures_CertificateKey")
.Index(t => t.Status, name: "IX_PackageSignatures_Status");

CreateTable(
Expand Down Expand Up @@ -78,37 +81,21 @@ public override void Up()
.PrimaryKey(t => t.ValidationId)
.Index(t => t.PackageKey, name: "IX_ValidatorStatuses_PackageKey");

CreateTable(
"signature.PackageSignatureCertificates",
c => new
{
PackageSignatureKey = c.Long(nullable: false),
CertificateKey = c.Long(nullable: false),
})
.PrimaryKey(t => new { t.PackageSignatureKey, t.CertificateKey })
.ForeignKey("signature.PackageSignatures", t => t.PackageSignatureKey, cascadeDelete: true)
.ForeignKey("signature.Certificates", t => t.CertificateKey, cascadeDelete: true)
.Index(t => t.PackageSignatureKey)
.Index(t => t.CertificateKey);

}

public override void Down()
{
DropForeignKey("signature.CertificateValidations", "CertificateKey", "signature.Certificates");
DropForeignKey("signature.PackageSignatures", "PackageKey", "signature.PackageSigningStates");
DropForeignKey("signature.PackageSignatureCertificates", "CertificateKey", "signature.Certificates");
DropForeignKey("signature.PackageSignatureCertificates", "PackageSignatureKey", "signature.PackageSignatures");
DropIndex("signature.PackageSignatureCertificates", new[] { "CertificateKey" });
DropIndex("signature.PackageSignatureCertificates", new[] { "PackageSignatureKey" });
DropForeignKey("signature.PackageSignatures", "CertificateKey", "signature.Certificates");
DropIndex("dbo.ValidatorStatuses", "IX_ValidatorStatuses_PackageKey");
DropIndex("signature.CertificateValidations", "IX_CertificateValidations_ValidationId");
DropIndex("signature.CertificateValidations", "IX_CertificateValidations_CertificateKey_ValidationId");
DropIndex("signature.PackageSigningStates", "IX_PackageSigningStates_PackageId_PackageNormalizedVersion");
DropIndex("signature.PackageSignatures", "IX_PackageSignatures_Status");
DropIndex("signature.PackageSignatures", "IX_PackageSignatures_CertificateKey");
DropIndex("signature.PackageSignatures", "IX_PackageSignatures_PackageKey");
DropIndex("signature.Certificates", "IX_Certificates_Thumbprint");
DropTable("signature.PackageSignatureCertificates");
DropTable("dbo.ValidatorStatuses");
DropTable("signature.CertificateValidations");
DropTable("signature.PackageSigningStates");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Target" xml:space="preserve">
<value>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</value>
<value>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</value>
</data>
<data name="DefaultSchema" xml:space="preserve">
<value>dbo</value>
Expand Down
10 changes: 5 additions & 5 deletions src/NuGet.Services.Validation/NuGet.Services.Validation.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,9 @@
<Compile Include="Migrations\201709202218143_AddValidationSchema.Designer.cs">
<DependentUpon>201709202218143_AddValidationSchema.cs</DependentUpon>
</Compile>
<Compile Include="Migrations\201710050029509_AddPackageSigningSchema.cs" />
<Compile Include="Migrations\201710050029509_AddPackageSigningSchema.Designer.cs">
<DependentUpon>201710050029509_AddPackageSigningSchema.cs</DependentUpon>
<Compile Include="Migrations\201710130012543_AddPackageSigningSchema.cs" />
<Compile Include="Migrations\201710130012543_AddPackageSigningSchema.Designer.cs">
<DependentUpon>201710130012543_AddPackageSigningSchema.cs</DependentUpon>
</Compile>
<Compile Include="Migrations\ValidationMigrationsConfiguration.cs" />
<Compile Include="PackageValidationEnqueuer.cs" />
Expand All @@ -88,8 +88,8 @@
<EmbeddedResource Include="Migrations\201709202218143_AddValidationSchema.resx">
<DependentUpon>201709202218143_AddValidationSchema.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Migrations\201710050029509_AddPackageSigningSchema.resx">
<DependentUpon>201710050029509_AddPackageSigningSchema.cs</DependentUpon>
<EmbeddedResource Include="Migrations\201710130012543_AddPackageSigningSchema.resx">
<DependentUpon>201710130012543_AddPackageSigningSchema.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
Expand Down

0 comments on commit e7ef8ee

Please sign in to comment.