/// <summary> /// Countersign the primary signature with a X509Certificate2. /// </summary> public Task <PrimarySignature> CreateRepositoryCountersignatureAsync(RepositorySignPackageRequest request, PrimarySignature primarySignature, ILogger logger, CancellationToken token) { if (request == null) { throw new ArgumentNullException(nameof(request)); } if (primarySignature == null) { throw new ArgumentNullException(nameof(primarySignature)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } token.ThrowIfCancellationRequested(); var signature = CreateRepositoryCountersignature(request, primarySignature, logger); if (_timestampProvider == null) { return(Task.FromResult(signature)); } else { return(TimestampRepositoryCountersignatureAsync(request, logger, signature, token)); } }
public static CryptographicAttributeObjectCollection CreateSignedAttributes( RepositorySignPackageRequest request, IReadOnlyList <X509Certificate2> chainList) { if (request == null) { throw new ArgumentNullException(nameof(request)); } if (chainList == null || chainList.Count == 0) { throw new ArgumentException(Strings.ArgumentCannotBeNullOrEmpty, nameof(chainList)); } var attributes = CreateSignedAttributes((SignPackageRequest)request, chainList); attributes.Add(AttributeUtility.CreateNuGetV3ServiceIndexUrl(request.V3ServiceIndexUrl)); if (request.PackageOwners?.Count > 0) { attributes.Add(AttributeUtility.CreateNuGetPackageOwners(request.PackageOwners)); } return(attributes); }