Versions Compared

Key

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

...

app.config bliver erstattet af appsettings.json og bruges kun til at sætte enkelte parametre:            {
               

Code Block
languagejs
{
    "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
languagec#
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
languagec#
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
languagec#
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
languagec#
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.

...