Page History
...
app.config bliver erstattet af appsettings.json og bruges kun til at sætte enkelte parametre: {
| Code Block | ||
|---|---|---|
| ||
{ "CheckTrust": true, |
...
...
"CheckDate": true, |
...
...
"CheckCrl": false, |
...
...
"sosi:dgws.version": "1.0.1" |
...
, |
...
"sosi:issuer": "TheSOSILibrary" |
...
, |
...
"credentialVault:alias": "SOSI:ALIAS_SYSTEM" } |
Værdierne her er
}Værdierne her er også default-værdierne, hvis en parameter eller hele appsettings-filen udelades.
...
Metoderne 'ExchangeAssertion' og 'ExchangeAssertionViaGW' i Sosi2SamlStsClient er slået sammen til én static metode der hedder 'ExchangeAssertion':
I det gamle Seal.NET bliver denne kode: var assertion =
| Code Block | ||
|---|---|---|
| ||
var assertion = IdCard.GetAssertion<Assertion>(); |
...
using (var stsClient = new Seal2SamlStsClient("Seal2EncSamlViaGW")) |
...
using (new OperationContextScope((IContextChannel)stsClient.Channel.Channel)) |
...
{ var sealCardCallingGw = SealCard.Create(assertion); |
...
OperationContext.Current.OutgoingMessageHeaders.Add(new SealCardMessageHeader(sealCardCallingGw)); |
...
var oioToken = stsClient.ExchangeAssertionViaGW("http://sosi.dk") as GenericXmlSecurityToken; |
...
} |
Til
| Code Block | ||
|---|---|---|
| ||
Sosi2SamlStsClient.ExchangeAssertion(clientCertificate, "<audience>", uri, idCard).XAssertion; |
Den findes også i en udgave der ikke tager et clientCertificate.
Metoderne er slået sammen fordi de alle udførte det samme, men gjorde det på forskellig vis:
'ExchangeAssertion' tog en assertion direkte i parameterlisten, mens 'ExchangeAssertionViaGW' ikke tog den direkte i parameterlisten,
men i stedet blev assertion sat ind i 'OperationContext.Current.OutgoingMessageHeaders' inden 'ExchangeAssertionViaGW' blev kaldt - det er dette scenarie der er vist her, i den gamle Seal.NET kode.
...
Saml2SosiStsClient.ExchangeAssertion er nu en static metode:
I det gamle Seal.NET bliver denne kode: using (var stsClient = new
| Code Block | ||
|---|---|---|
| ||
using (var stsClient = new Saml2SosiStsClient("sts_OIOSaml2Sosi")) |
...
{ stsClient.ChannelFactory.Credentials.ClientCertificate.Certificate = Global.StatensSerumInstitutFoces; |
...
var healthContextAssertion = SealUtilities.MakeHealthContextAssertion( "Test Sundhed.dk", Global.StatensSerumInstitutFoces.SubjectName.Name, |
...
"Sygdom.dk", userAuthorizationCode); |
...
return stsClient.ExchangeAssertion(nemidAssertion, healthContextAssertion, "http://sosi.dk"); |
...
} |
Til
| Code Block | ||
|---|---|---|
| ||
Saml2SosiStsClient.ExchangeAssertion(Global.StatensSerumInstitutFoces, new Uri("<URL der før var i app.config>"), nemidAssertion, userAuthorizationCode); |
Hvor nemidAssertion er af typen 'OioSamlAssertion' i stedet for 'Saml2Assertion'.
En 'OioSasmlAssertion' kan laves ud af et XML DOM objekt på følgende måde:
...
I dette afsnit beskrives overordnet hvordan Seal.Net benyttes til at opbygge en klient eller en service applikation.
Konfiguration
Der er to måder at konfigurere certifikat validering på i Seal.Net. Begge slags valideringer af et certifikat der kan aktiveres/deaktiveres i Appappsettings.config eller Webjson.config.
CheckTrust
CheckTrust specificerer om certifikatet skal valideres op mod et root certifikat og om chainen skal valideres. Hvis en federation er specificeret så er det valideringen mod den federation som bliver aktiveret-deaktiveret. Skal slås fra ved self signed certifikater.
<appSettings>
<add key="CheckTrust" value="false"/>
</appSettings>
CheckTrust er per default True.
...