internal static DocumentBundle Create(Forsendelse forsendelse, GuidUtility guidUtility, X509Certificate2 senderCertificate, IAsiceConfiguration asiceConfiguration) { var manifest = new Manifest(forsendelse); ValidateXmlAndThrowIfInvalid(manifest.Xml(), "Manifest"); var signature = new Signature(forsendelse, manifest, senderCertificate); ValidateXmlAndThrowIfInvalid(signature.Xml(), "Signatur"); var asiceAttachables = new List<IAsiceAttachable>(); asiceAttachables.AddRange(forsendelse.Dokumentpakke.Vedlegg); asiceAttachables.Add(forsendelse.Dokumentpakke.Hoveddokument); asiceAttachables.Add(manifest); asiceAttachables.Add(signature); var asiceAttachableProcessors = ConvertDocumentBundleProcessorsToAsiceAttachableProcessors(forsendelse, asiceConfiguration); var asiceArchive = new AsiceArchive(forsendelse.PostInfo.Mottaker.Sertifikat, guidUtility, asiceAttachableProcessors, asiceAttachables.ToArray()); return new DocumentBundle(asiceArchive.Bytes, asiceArchive.UnzippedContentBytesCount, asiceArchive.ContentId); }
public void UgyldigNavnPåHoveddokumentValidererIkke() { var manifest = new Manifest(DomainUtility.GetForsendelseWithTestCertificate()); var manifestXml = manifest.Xml(); var manifestValidator = SdpXmlValidator.Instance; var namespaceManager = new XmlNamespaceManager(manifestXml.NameTable); namespaceManager.AddNamespace("ns9", NavneromUtility.DifiSdpSchema10); namespaceManager.AddNamespace("ds", NavneromUtility.XmlDsig); var hoveddokumentNode = manifestXml.DocumentElement.SelectSingleNode("//ns9:hoveddokument", namespaceManager); var gammelVerdi = hoveddokumentNode.Attributes["href"].Value; hoveddokumentNode.Attributes["href"].Value = "abc"; //Endre navn på hoveddokument til å være for kort string validationMessages; var validert = manifestValidator.Validate(manifestXml.OuterXml, out validationMessages); Assert.False(validert, validationMessages); hoveddokumentNode.Attributes["href"].Value = gammelVerdi; }
internal static DocumentBundle Create(Forsendelse forsendelse, GuidUtility guidUtility, X509Certificate2 senderCertificate, IAsiceConfiguration asiceConfiguration) { var manifest = new Manifest(forsendelse); ValidateXmlAndThrowIfInvalid(manifest.Xml(), "Manifest"); var signature = new Signature(forsendelse, manifest, senderCertificate); ValidateXmlAndThrowIfInvalid(signature.Xml(), "Signatur"); var asiceAttachables = new List <IAsiceAttachable>(); asiceAttachables.AddRange(forsendelse.Dokumentpakke.Vedlegg); asiceAttachables.Add(forsendelse.Dokumentpakke.Hoveddokument); asiceAttachables.Add(manifest); asiceAttachables.Add(signature); var asiceAttachableProcessors = ConvertDocumentBundleProcessorsToAsiceAttachableProcessors(forsendelse, asiceConfiguration); var asiceArchive = new AsiceArchive(forsendelse.PostInfo.Mottaker.Sertifikat, guidUtility, asiceAttachableProcessors, asiceAttachables.ToArray()); return(new DocumentBundle(asiceArchive.Bytes, asiceArchive.UnzippedContentBytesCount, asiceArchive.ContentId)); }