Page History
...
Indeholder forskellige funktioner. F.eks. til at signere og validere en signatur.
Brug af Seal.
...
NET API
I dette afsnit beskrives overordnet hvordan Seal.Net benyttes til at opbygge en klient eller en service applikation.
...
Der er to slags valideringer af et certifikat, der kan aktiveres/deaktiveres i appsettings.json.
...
- Direkte kald af Service (ikke føderalt): Her oprettes et kort lokalt og Service Udbyderen kaldes med det oprettede kort. Det er så op til Service Udbyderen at autentificere brugeren.
- Føderalt: Et kort oprettes lokalt valideres via et kald til en STS, som returnerer et kort der er digitalt underskrevet. Dette kort benyttes til fremtidige kald af webservices. Service Udbyderen skal nu kun autentificere STS'en.
- Via NemId:Hvis en bruger allerede er logget på et system via NemLogin, kan dette login benyttes til at kalde en webservice. Til NemLogin er associeret en SAML token. Denne token skal veksles til et DGWS ID kort. Når ID kortet er modtaget, benyttes det til fremtidige kald.
- SOSI Gateway: Kan benyttes til at hente en token til Sikker Browser Opstart (SBO).
TODO
Til efterfølgende eksempler benyttes nogle metoder til at oprette instanser af datatyper.
MakeHeader og MakeSecurity.
Disse metoder opretter instanser af de førnævnte klasser; Security og Header.
Der benyttes desuden variablerne callingSystem og user, som kan ses under " eksempler på generering af proxyklasser". TODO
Eksemplerne viser et kald til en FKM webservice. Metodekaldet er GetMedicineCard_2015_06_01
...
| Code Block | ||
|---|---|---|
| ||
var uri = new Uri("http://test1.ekstern-test.nspop.dk:8080/sosigw/proxy/soap-request");
var response = Sosi2SamlStsClient.ExchangeAssertion(uri, "Invalid audience", IdCard).XAssertion; |
SOSI Gateway SBO
En token til SBO kan hentes fra SOSI Gateway på nedenstående måde. Det forudsættes at der er logget på SOSI Gateway og dermed er assertion initieret.
Endpoint refererer til STS og ClientVia refererer til SOSI Gateway.
using (var stsClient = new Seal2SamlStsClient("GWFetchCard"))
using (var scope = new OperationContextScope((IContextChannel)stsClient.Channel.Channel))
{
var factory = CreateFactory();
OperationContext.Current.OutgoingMessageHeaders.Add(new IdCardMessageHeader( factory.DeserializeIdCard(assertion)));
var d = stsClient.ExchangeAssertionViaGW( "http://sundhed.dk/") as GenericXmlSecurityToken;
var elm = d.TokenXml;
}
Minimal eksempelkonfiguration:
...
Eksempler ved brug af OioSamlFactory
...
