/// <param name="databehandler"> /// Virksomhet (offentlig eller privat) som har en kontraktfestet avtale med Avsender med /// formål å dekke hele eller deler av prosessen med å formidle en digital postmelding fra /// Behandlingsansvarlig til Meldingsformidler. Det kan være flere databehandlere som har /// ansvar for forskjellige steg i prosessen med å formidle en digital postmelding. /// </param> /// <param name="klientkonfigurasjon">Klientkonfigurasjon for klienten. Brukes for å sette parametere /// som proxy, timeout og URI til meldingsformidler. For å bruke standardkonfigurasjon, lag /// SikkerDigitalPostKlient uten Klientkonfigurasjon som parameter.</param> /// <remarks> /// Se <a href="http://begrep.difi.no/SikkerDigitalPost/forretningslag/Aktorer">oversikt over aktører</a> /// </remarks> public SikkerDigitalPostKlient(Databehandler databehandler, Klientkonfigurasjon klientkonfigurasjon) { _databehandler = databehandler; _klientkonfigurasjon = klientkonfigurasjon; Logging.Initialize(klientkonfigurasjon); FileUtility.BasePath = klientkonfigurasjon.StandardLoggSti; }
/// <param name="databehandler"> /// Virksomhet (offentlig eller privat) som har en kontraktfestet avtale med Avsender med /// formål å dekke hele eller deler av prosessen med å formidle en digital postmelding fra /// <see cref="Avsender" /> til Meldingsformidler. /// </param> /// <param name="klientkonfigurasjon"> /// Brukes for å sette parametere som proxy, timeout, logging av forespørsel/respons og selve dokumentpakken. /// </param> /// <remarks> /// Se <a href="http://begrep.difi.no/SikkerDigitalPost/forretningslag/Aktorer">oversikt over aktører</a> /// </remarks> public SikkerDigitalPostKlient(Databehandler databehandler, Klientkonfigurasjon klientkonfigurasjon) { ValidateDatabehandlerCertificateAndThrowIfInvalid(databehandler, klientkonfigurasjon.Miljø); Databehandler = databehandler; Klientkonfigurasjon = klientkonfigurasjon; RequestHelper = new RequestHelper(klientkonfigurasjon); }
/// <summary> /// Settings for DigitalPostForsendelse /// </summary> public EnvelopeSettings(Forsendelse forsendelse, DocumentBundle documentBundle, Databehandler databehandler, GuidUtility guidUtility, Klientkonfigurasjon konfigurasjon) { Forsendelse = forsendelse; DocumentBundle = documentBundle; Databehandler = databehandler; GuidUtility = guidUtility; Konfigurasjon = konfigurasjon; }
/// <summary> /// Settings for DigitalPostForsendelse /// </summary> public EnvelopeSettings(Forsendelse forsendelse, AsicEArkiv asicEArkiv, Databehandler databehandler, GuidUtility guidHandler, Klientkonfigurasjon konfigurasjon) { Forsendelse = forsendelse; AsicEArkiv = asicEArkiv; Databehandler = databehandler; GuidHandler = guidHandler; Konfigurasjon = konfigurasjon; }
public void Fails_if_invalid_certificate() { //Arrange var databehandler = new Databehandler(new Organisasjonsnummer("988015814"), DomainUtility.GetAvsenderEnhetstesterSertifikat()); var klientkonfigurasjon = new Klientkonfigurasjon(Miljø.FunksjoneltTestmiljø); //Act Assert.Throws<SecurityException>(()=> new SikkerDigitalPostKlient(databehandler, klientkonfigurasjon)); }
public void Initier() { var orgnummerAvsender = new Organisasjonsnummer("123456789"); var avsender = new Avsender(orgnummerAvsender); var orgnummerDatabehandler = new Organisasjonsnummer("987654321"); var avsendersertifikat = new X509Certificate2(); var databehandler = new Databehandler(orgnummerDatabehandler, avsendersertifikat); avsender.Avsenderidentifikator = "Avsenderidentifikator.I.Organisasjon"; }
private void ValidateDatabehandlerCertificateAndThrowIfInvalid(Databehandler databehandler, Miljø miljø) { var valideringsResultat = CertificateValidator.ValidateCertificateAndChain( databehandler.Sertifikat, databehandler.Organisasjonsnummer.Verdi, miljø.CertificateChainValidator.CertificateStore ); if (valideringsResultat.Type != CertificateValidationType.Valid) { throw new SecurityException($"Sertifikatet som brukes for { nameof(Databehandler) } er ikke gyldig. Prøver du å sende med et testsertifikat i produksjonsmiljø eller omvendt? Grunnen er '{valideringsResultat.Type.ToNorwegianString()}', beskrivelse: '{valideringsResultat.Message}'"); } }
public void Initializes_fields() { //Arrange var databehandler = new Databehandler(new Organisasjonsnummer("988015814"), DomainUtility.GetAvsenderCertificate()); var klientkonfigurasjon = new Klientkonfigurasjon(Miljø.FunksjoneltTestmiljø); //Act var sikkerDigitalPostKlient = new SikkerDigitalPostKlient(databehandler, klientkonfigurasjon); //Assert Assert.Equal(klientkonfigurasjon, sikkerDigitalPostKlient.Klientkonfigurasjon); Assert.Equal(databehandler, sikkerDigitalPostKlient.Databehandler); Assert.IsType<RequestHelper>(sikkerDigitalPostKlient.RequestHelper); }
private static void SendPost() { /* * I dette eksemplet er det Posten som er den som produserer informasjon/brev/post som skal formidles (Avsender), * Posten som er databehandler, og det er Digipostkassen som skal motta meldingen. */ Log.Debug(@"--- STARTER Å SENDE POST ---"); /* * SETT OPP MOTTAKER OG INNSTILLINGER */ var postInfo = GenererPostInfo(ErDigitalPostMottaker, ErNorskBrev); var avsender = new Avsender(Settings.Default.OrgnummerPosten); var databehandler = new Databehandler( new Organisasjonsnummer(Settings.Default.OrgnummerPosten), Settings.Default.DatabehandlerSertifikatThumbprint); avsender.Avsenderidentifikator = "digipost"; var forsendelse = GenererForsendelse(avsender, postInfo); var klientkonfigurasjon = SettOppKlientkonfigurasjon(); klientkonfigurasjon.AktiverLagringAvDokumentpakkeTilDisk(@"C:\Users\aas\Downloads\"); var sikkerDigitalPostKlient = new SikkerDigitalPostKlient(databehandler, klientkonfigurasjon); /** * SEND POST OG MOTTA KVITTERINGER */ SendPost(sikkerDigitalPostKlient, forsendelse); Log.Debug(@"--- STARTER Å HENTE KVITTERINGER ---"); HentKvitteringer(sikkerDigitalPostKlient); Console.WriteLine(); Log.Debug(@"--- FERDIG Å SENDE POST OG MOTTA KVITTERINGER :) --- "); Console.ReadKey(); }
private static void SendPost() { /* * I dette eksemplet er det Posten som er den som produserer informasjon/brev/post som skal formidles (Avsender), * Posten som er teknisk avsender, og det er Digipostkassen som skal motta meldingen. */ Console.WriteLine("--- STARTER Å SENDE POST ---"); /* * SETT OPP MOTTAKER OG INNSTILLINGER */ PostkasseInnstillinger postkasseInnstillinger = PostkasseInnstillinger.GetPosten(); var postInfo = GenererPostInfo(postkasseInnstillinger, ErDigitalPostMottaker, ErNorskBrev); var avsender = new Avsender(postkasseInnstillinger.OrgNummerBehandlingsansvarlig); var databehandler = new Databehandler(postkasseInnstillinger.OrgNummerDatabehandler, "8702F5E55217EC88CF2CCBADAC290BB4312594AC"); avsender.Avsenderidentifikator = "digipost"; var forsendelse = GenererForsendelse(avsender, postInfo); var klientkonfigurasjon = SettOppKlientkonfigurasjon(); var sikkerDigitalPostKlient = new SikkerDigitalPostKlient(databehandler, klientkonfigurasjon); /** * SEND POST OG MOTTA KVITTERINGER */ SendPost(sikkerDigitalPostKlient, forsendelse); Console.WriteLine("--- STARTER Å HENTE KVITTERINGER ---"); HentKvitteringer(sikkerDigitalPostKlient); Console.WriteLine(); Console.WriteLine("--- FERDIG Å SENDE POST OG MOTTA KVITTERINGER :) --- "); Console.ReadKey(); }
public void SendDigitaltPåVegneAvIntegrasjon() { //Arrange const string testDepartementetAvsenderOrgnummer = "987656789"; const string postenDatabehandlerOrgnummer = "984661185"; var avsender = new Avsender(testDepartementetAvsenderOrgnummer); var databehandler = new Databehandler(postenDatabehandlerOrgnummer, DomeneUtility.GetAvsenderSertifikat()); var forsendelse = new Forsendelse(avsender, DomeneUtility.GetDigitalPostInfoEnkel(), DomeneUtility.GetDokumentpakkeUtenVedlegg(), Prioritet.Normal, Guid.NewGuid().ToString()); var klientKonfig = new Klientkonfigurasjon { MeldingsformidlerUrl = new Uri(Settings.Default.UrlMeldingsformidler), LoggXmlTilFil = true }; //Act var sdpKlient = new SikkerDigitalPostKlient(databehandler, klientKonfig); var transportkvittering = sdpKlient.Send(forsendelse, true); //Assert Assert.IsNotNull(transportkvittering); var kvittering = HentKvitteringOgBekreft(sdpKlient, "Send digital paa vegne av", forsendelse); Assert.IsTrue(kvittering is Leveringskvittering, "Klarte ikke hente kvittering eller feilet kvittering"); }
/// <summary> /// Settings for BekreftKvittering /// </summary> public EnvelopeSettings(Forretningskvittering forrigeKvittering, Databehandler databehandler, GuidUtility guidUtility) { ForrigeKvittering = forrigeKvittering; Databehandler = databehandler; GuidUtility = guidUtility; }
/// <summary> /// Settings for KvitteringsEnvelope /// </summary> public EnvelopeSettings(KvitteringsForespørsel kvitteringsforespørsel, Databehandler databehandler, GuidUtility guidUtility) { Kvitteringsforespørsel = kvitteringsforespørsel; Databehandler = databehandler; GuidUtility = guidUtility; }
/// <param name="databehandler"> /// Virksomhet (offentlig eller privat) som har en kontraktfestet avtale med Avsender med /// formål å dekke hele eller deler av prosessen med å formidle en digital postmelding fra /// Behandlingsansvarlig til Meldingsformidler. Det kan være flere databehandlere som har /// ansvar for forskjellige steg i prosessen med å formidle en digital postmelding. /// </param> /// <remarks> /// Se <a href="http://begrep.difi.no/SikkerDigitalPost/forretningslag/Aktorer">oversikt over aktører</a> /// </remarks> public SikkerDigitalPostKlient(Databehandler databehandler) : this(databehandler, new Klientkonfigurasjon()) { }