private PrimarySignature CreatePrimarySignature(SignPackageRequest request, SignatureContent signatureContent, ILogger logger) { var cmsSigner = SigningUtility.CreateCmsSigner(request, logger); if (request.PrivateKey != null) { return(CreatePrimarySignature(cmsSigner, signatureContent, request.PrivateKey)); } var contentInfo = new ContentInfo(signatureContent.GetBytes()); var cms = new SignedCms(contentInfo); try { cms.ComputeSignature(cmsSigner); } catch (CryptographicException ex) when(ex.HResult == INVALID_PROVIDER_TYPE_HRESULT) { var exceptionBuilder = new StringBuilder(); exceptionBuilder.AppendLine(Strings.SignFailureCertificateInvalidProviderType); exceptionBuilder.AppendLine(CertificateUtility.X509Certificate2ToString(request.Certificate, Common.HashAlgorithmName.SHA256)); throw new SignatureException(NuGetLogCode.NU3001, exceptionBuilder.ToString()); } return(PrimarySignature.Load(cms)); }
private static PrimarySignature CreateRepositoryCountersignature(SignPackageRequest request, PrimarySignature primarySignature, ILogger logger) { var cmsSigner = SigningUtility.CreateCmsSigner(request, logger); if (request.PrivateKey != null) { return(CreateRepositoryCountersignature(cmsSigner, primarySignature, request.PrivateKey)); } return(CreateRepositoryCountersignature(cmsSigner, request, primarySignature)); }
private static PrimarySignature CreatePrimarySignature(SignPackageRequest request, SignatureContent signatureContent, ILogger logger) { var cmsSigner = SigningUtility.CreateCmsSigner(request, logger); if (request.PrivateKey != null) { return(CreatePrimarySignature(cmsSigner, signatureContent.GetBytes(), request.PrivateKey)); } return(CreatePrimarySignature(cmsSigner, request, signatureContent.GetBytes())); }