public void GivenFirstPartyPackageItShouldReturnTrue() { var iosSamplePackage = DownloadSamplePackage(new PackageId("Microsoft.iOS.Ref")); var androidSamplePackage = DownloadSamplePackage(new PackageId("Microsoft.Android.Ref")); var package = new FirstPartyNuGetPackageSigningVerifier(); package.IsFirstParty(new FilePath(iosSamplePackage)).Should().BeTrue(); package.IsFirstParty(new FilePath(androidSamplePackage)).Should().BeTrue(); }
// https://aka.ms/netsdkinternal-certificate-rotate public void ItShouldHaveUpdateToDateCertificateSha() { var samplePackage = DownloadSamplePackage(new PackageId("Microsoft.iOS.Ref")); var firstPartyNuGetPackageSigningVerifier = new FirstPartyNuGetPackageSigningVerifier(); string shaFromPackage = GetShaFromSamplePackage(samplePackage); firstPartyNuGetPackageSigningVerifier._firstPartyCertificateThumbprints.Contains(shaFromPackage).Should() .BeTrue( $"Add {shaFromPackage} to the _firstPartyCertificateThumbprints of FirstPartyNuGetPackageSigningVerifier class. More info https://aka.ms/netsdkinternal-certificate-rotate"); }
// https://aka.ms/netsdkinternal-certificate-rotate public void ItShouldHaveUpdateToDateCertificateSha() { NuGetPackageDownloader nuGetPackageDownloader = new NuGetPackageDownloader(_tempDirectory, null, new MockFirstPartyNuGetPackageSigningVerifier(), _logger, restoreActionConfig: new RestoreActionConfig(NoCache: true)); var samplePackage = ExponentialRetry.ExecuteWithRetry <string>( action: DownloadMostRecentSamplePackageFromPublicFeed, shouldStopRetry: result => result != null, maxRetryCount: 3, timer: () => ExponentialRetry.Timer(ExponentialRetry.Intervals), taskDescription: "Run command while retry transient restore error") .ConfigureAwait(false).GetAwaiter().GetResult(); string DownloadMostRecentSamplePackageFromPublicFeed() { try { return(nuGetPackageDownloader.DownloadPackageAsync( new PackageId("Microsoft.iOS.Ref"), null, includePreview: true, packageSourceLocation: new PackageSourceLocation( sourceFeedOverrides: new[] { "https://api.nuget.org/v3/index.json" })).GetAwaiter() .GetResult()); } catch (Exception) { return(null); } } var firstPartyNuGetPackageSigningVerifier = new FirstPartyNuGetPackageSigningVerifier(); string shaFromPackage = GetShaFromSamplePackage(samplePackage); firstPartyNuGetPackageSigningVerifier._firstPartyCertificateThumbprints.Contains(shaFromPackage).Should() .BeTrue( $"Add {shaFromPackage} to the _firstPartyCertificateThumbprints of FirstPartyNuGetPackageSigningVerifier class. More info https://aka.ms/netsdkinternal-certificate-rotate"); }