public ManifestContainer CreateManifest(IEnumerable <AsicePackageEntry> entries) { var manifest = new ASiCManifestType { DataObjectReference = entries.Select(ToDataObject).ToArray() }; SignatureFileRef signatureFileRef = null; if (addSignatureFile) { signatureFileRef = CadesSignature.CreateSignatureRef(); manifest.SigReference = new SigReferenceType { MimeType = signatureFileRef.MimeType.ToString(), URI = signatureFileRef.FileName }; } using (var outStream = new MemoryStream()) using (var xmlWriter = CreateXmlWriter(outStream)) { new XmlSerializer(typeof(ASiCManifestType)).Serialize(xmlWriter, manifest, CreateNamespaces()); //Stupid whitespace manipulation to please DNB var resultString = Encoding.UTF8.GetString(outStream.ToArray()); resultString = resultString.Replace(" />", "/>").Replace(" xmlns=\"http://uri.etsi.org/02918/v1.2.1#\"", "") + "\n"; var x = Encoding.UTF8.GetBytes(resultString); return(new ManifestContainer(AsiceConstants.CadesManifestFilename, x, signatureFileRef, ManifestSpec.Cades)); } }
public ManifestContainer CreateManifest(IEnumerable <AsicePackageEntry> entries) { var manifest = new ASiCManifestType { DataObjectReference = entries.Select(ToDataObject).ToArray() }; SignatureFileRef signatureFileRef = null; if (addSignatureFile) { signatureFileRef = CadesSignature.CreateSignatureRef(); manifest.SigReference = new SigReferenceType { MimeType = signatureFileRef.MimeType.ToString(), URI = signatureFileRef.FileName }; } using (var outStream = new MemoryStream()) using (var xmlWriter = CreateXmlWriter(outStream)) { new XmlSerializer(typeof(ASiCManifestType)).Serialize(xmlWriter, manifest, CreateNamespaces()); return(new ManifestContainer(AsiceConstants.CadesManifestFilename, outStream.ToArray(), signatureFileRef, ManifestSpec.Cades)); } }