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())); }
private Signature CreateSignature(SignPackageRequest request, SignatureContent signatureContent) { var cmsSigner = CreateCmsSigner(request); if (request.PrivateKey != null) { return(CreateSignature(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)); throw new SignatureException(NuGetLogCode.NU3016, exceptionBuilder.ToString()); } return(Signature.Load(cms)); }
private Signature CreateSignature(CmsSigner cmsSigner, SignatureContent signatureContent, CngKey privateKey) { var cms = NativeUtilities.NativeSign(cmsSigner, signatureContent.GetBytes(), privateKey); return(Signature.Load(cms)); }