Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Laves med en static constructor 'IdCardMessageHeader.IdCardHeader'.

Eksempel:

Code Block
languagec#
using static dk.nsi.seal.MessageHeaders.IdCardMessageHeader;

var client = new NtsWSProviderClient(new BasicHttpsBinding(), new EndpointAddress("https://test1-cnsp.ekstern-test.nspop.dk:8443/nts/service"));

using (new OperationContextScope(client.InnerChannel))
{
    OperationContext.Current.OutgoingMessageHeaders.Add(IdCardHeader(idCard)); // Tilføj ID Kort med IdCardMessageHeaderIdCardHeader 
    var returnresponse = client.invokeAsync("test");
}

...

Code Block
languagec#
var client = new NSTWsProvider.NtsWSProviderClient(binding, new EndpointAddress("https://test1-cnsp.ekstern-test.nspop.dk:8443/nts/service"));

var dgwsHeader = new dk.nsi.seal.dgwstypes.Header()
{
    SecurityLevel = 4,
    SecurityLevelSpecified = true,
    Linking = new Linking { MessageID = Guid.NewGuid().ToString("D") }
};

using (new OperationContextScope(client.InnerChannel))
{
    OperationContext.Current.OutgoingMessageHeaders.Add(XmlHeader(dgwsHeader)); // Indsæt header som XML, ud fra serialiseret header
    var response return= client.invokeAsync("test");
}

...

SealEndpointBehavior

TODO

Factories


SosiFactory har static metoder der kan generere nye IdCards.


OioSamlFactory kan generere nye Requests. Normalt laver man en DOM builder som genererer selve XML'en og bagefter en ModelBuilder for at lave selve Requesten. Requesten kan så blive sendt ved hjælp af dk.nsi.seal.SealUtilities.SignIn funktion. Derudover kan man sende requests fra OioSamlFactory afsted uden brug af klienter.

DomBuilders


Dombuilders er et hierarki, som bliver brugt til at generere XML kode. Til venstre er der 3 klasser der håndterer bygning af selve assertions, mens det højre klasse hierarki bliver brugt til at generere selve Soap SOAP beskeden uden Assertion.

Requests

...

Vi har implementeret et generelt vault system som bliver brugt til at gemme certifikater i. GenericCredentialVault bruger en standart .Net NET CertificateStore til at gemme certifikater i. Der kan laves nye CredentialVaults som kan bruges i SosiFactory og andre steder i Seal.Net ved at nedarve fra ICredentialVault.Image Removed

Disse findes under namespace 'dk.nsi.seal.Vault'.

'InMemoryCredentialVault' er et simpelt dataobjekt, der kun indeholder et certifikat.

Federation

Federations bliver brugt når man skal validere certfikatet fra den service man snakker med. En Federation gives til 'SignatureUtil.Validate'.

Klassen 'SosiFederation' SosiFederation neders vil validere servicens certifikat op mod OCES2 root certifikatet for at sikre, at servicen er authoriseretautoriseret.

Klassen 'SosiTestFederation' vil validere op mod OCES2 test root certifikat. Hvis ingen Federation bliver brugt

Hvis SignatureUtil.Validate kaldes uden en Federation, skal root certifikatet af den pågældende services certifikat (eller selve certifikatet) ligge i den brugte CredentialVaulttrust store på den enhed programmet eksekveres af. På windows vil det betyde at importere det givne certifikat som et 'trusted root certificate' med programmet 'Manage Computer Certificates'.


Hjælpefunktioner


Indeholder forskellige funktioner f. F.eks. til at signere og validere en signatur. Derudover kan man sende requests fra OioSamlFactory afsted uden brug af clienter.

Brug af Seal.Net Api

I dette afsnit beskrives overordnet hvordan Seal.Net benyttes til at opbygge en klient eller en service applikation.

...