Page History
...
Laves med en static constructor 'IdCardMessageHeader.IdCardHeader'.
Eksempel:
| Code Block | ||
|---|---|---|
| ||
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 | ||
|---|---|---|
| ||
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.
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.
...




