Exemplo n.º 1
0
        public SignatureFileContainer CreateCadesSignatureFile(ManifestContainer manifestContainer)
        {
            var signedDataGenerator = new CmsSignedDataGenerator();

            signedDataGenerator.AddSigner(
                certificateHolder.GetPrivateKey(),
                certificateHolder.GetPublicCertificate(),
                CmsSignedGenerator.DigestSha256);
            signedDataGenerator.AddSignerInfoGenerator(CreateSignerInfoGenerator());
            signedDataGenerator.AddCertificates(CreateX509Store());
            var signedData =
                signedDataGenerator.Generate(new CmsProcessableByteArray(manifestContainer.Data.ToArray()));

            return(new SignatureFileContainer(manifestContainer.SignatureFileRef, signedData.GetEncoded()));
        }