Strumenti Utente

Strumenti Sito


guide_pubbliche:howto:identity:sp_windows_iis

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisione Revisione precedente
Prossima revisione
Revisione precedente
guide_pubbliche:howto:identity:sp_windows_iis [2022/02/17 11:56]
riccardo.cappone@unipr.it [shibboleth2.xml]
guide_pubbliche:howto:identity:sp_windows_iis [2022/02/18 06:31] (versione attuale)
riccardo.cappone@unipr.it [Riavvio del service provider e di IIS]
Linea 110: Linea 110:
 </​code>​ </​code>​
  
-In questo caso nel file partner-metadata.xml andrà salvato il metadata IdP UNIPR scaricabile dal link +In questo caso nel file partner-metadata.xml andrà salvato il metadata IdP UNIPR scaricabile dal link [[https://​shibidp.unipr.it/​idp/​shibboleth|https://​shibidp.unipr.it/​idp/​shibboleth]]
  
 === attribute-map.xml === === attribute-map.xml ===
Linea 127: Linea 127:
 </​code>​ </​code>​
  
 +==== Generare i certificati per la firma e la crittografia delle asserzioni ====
  
 +I ceritifcati generati localmente per mezzo del tool "​seckeygen.bat"​ presente in C:​\opt\shibboleth-sp\etc\shibboleth,​ servono esclusivamente per la firma e la crittografia delle asserzioni e dopo la generazione saranno presenti in linea nel metadata del service provider, che dovrà successivamente essere scaricato ed inviato all'​IdP UNIPR come da istruzioni presenti qui [[guide_pubbliche:​howto:​identity:​shibbolethsp_config|Service Provider: HowTo Shibboleth]]
  
 +<​code>​
 +C:​\opt\shibboleth-sp\etc\shibboleth>​keygen.bat --help
 +usage: keygen [-h hostname for cert] [-y years to issue cert] [-e entityID to embed in cert] [-n filename prefix] [-o output dir]
 +</​code>​
 +
 +Esempio:
 +
 +<​code>​
 +keygen.bat -h app-infocad-dev2016.unipr.it -y 10 -e https://​app-infocad-dev2016.unipr.it/​shibboleth -n sp-signing
 +-INVIO-
 +
 +keygen.bat -h app-infocad-dev2016.unipr.it -y 10 -e https://​app-infocad-dev2016.unipr.it/​shibboleth -n sp-encrypt
 +-INVIO-
 +
 +</​code>​
 +
 +In questo modo si generano due certificati rispettivamente dedicati per la firma e per la crittografia.
 +
 +Questi saranno referenziati nel file shibboleth2.xml nella sezione
 +
 +<​code>​
 +
 +        <!-- Simple file-based resolvers for separate signing/​encryption keys. -->
 +        <​CredentialResolver type="​File"​ use="​signing"​
 +            key="​sp-signing-key.pem"​ certificate="​sp-signing-cert.pem"/>​
 +        <​CredentialResolver type="​File"​ use="​encryption"​
 +            key="​sp-encrypt-key.pem"​ certificate="​sp-encrypt-cert.pem"/>​
 +        ​
 +    </​ApplicationDefaults>​
 +</​code>​
 +
 +==== Scaricare il proprio Metadata da inviare a UNIPR ====
 +
 +E' possibile scaricare una versione del Metadata relativo al proprio SP direttamente dal link del proprio server su cui avete installato il service provider shibboleth:
 +
 +<​code>​
 +https://<​fqdn_server_shibboleth_SP>/​Shibboleth.sso/​Metadata
 +</​code>​
 +
 +==== Raccogliere gli attributi rilasciati dall'​IdP dalle variabili server via IIS ====
 +
 +Esempio di pagina ASP per raccogliere gli attributi rilasciati dell'​IdP in variabili server:
 +
 +<​code>​
 +<%@ language="​javascript"​%>​
 +<​!DOCTYPE html>
 +<​html>​
 +<​body>​
 +<%
 +Response.Write("<​h1>​Variabili Server</​h1>"​)
 +
 +
 +Response.Write("​Cognome:​ "+ Request.ServerVariables["​sn"​])
 +Response.Write("<​br>"​);​
 +Response.Write("​Nome:​ "+ Request.ServerVariables["​givenName"​])
 +Response.Write("<​br>"​);​
 +Response.Write("​CF:​ "+ Request.ServerVariables["​codicefiscale"​])
 +Response.Write("<​br>"​);​
 +Response.Write("​Email:​ "+ Request.ServerVariables["​mail"​])
 +Response.Write("<​br>"​);​
 +Response.Write("​OU:​ "+ Request.ServerVariables["​organizationalUnit"​])
 +
 +%>
 +</​body>​
 +</​html>​
 +</​code>​
 +
 +Alcune versioni o combinazioni di versioni di sistema operativo e shibboleth service provider potrebbero rilasciare i valori degli attributi duplicati, pertanto la soluzione per recuperare valori singoli degli attributi è la seguente:
 +
 +<​code>​
 +<%@ language="​javascript"​%>​
 +<​!DOCTYPE html>
 +<​html>​
 +<​body>​
 +<%
 +Response.Write("<​h1>​Variabili Server</​h1>"​)
 +
 +
 +Response.Write("​Cognome:​ "+ Request.ServerVariables["​sn"​].split(';'​)[0])
 +Response.Write("<​br>"​);​
 +Response.Write("​Nome:​ "+ Request.ServerVariables["​givenName"​].split(';'​)[0])
 +Response.Write("<​br>"​);​
 +Response.Write("​CF:​ "+ Request.ServerVariables["​codicefiscale"​].split(';'​)[0])
 +Response.Write("<​br>"​);​
 +Response.Write("​Email:​ "+ Request.ServerVariables["​mail"​].split(';'​)[0])
 +Response.Write("<​br>"​);​
 +Response.Write("​OU:​ "+ Request.ServerVariables["​organizationalUnit"​].split(';'​)[0])
 +
 +%>
 +</​body>​
 +</​html>​
 +</​code>​
 +
 +==== Riavvio del service provider e di IIS ====
 +
 +Al termine delle operazioni di configurazione riavviare il demone di Shibboleth service provider e del web server IIS
 +
 +  * Riavvio di Shibboleth SP
 +
 +{{:​guide_pubbliche:​howto:​identity:​006.png?​600|}}
 +
 +  * Riavvio di IIS
 +
 +{{:​guide_pubbliche:​howto:​identity:​007.png?​600|}}