Configurare il certificato SSL per la crittografia e la firma a livello dell'applicazione
Configurare i certificati SSL per le applicazioni, ad esempio ThingWorx e PingFederate, per lo scopo descritto di seguito.
• Esecuzione e verifica della firma SAML - Stabilisce l'attendibilità e verifica la fonte originale della richiesta.
• Crittografia e decrittografia XML - Fornisce una comunicazione sicura della risposta SAML.
Esecuzione e verifica della firma SAML
La firma viene eseguita da una chiave privata e la verifica della firma viene eseguita da una chiave pubblica.
Nel processo di esecuzione e verifica della firma:
◦ Qualsiasi comunicazione dal provider di servizi al server CAS viene firmata dal certificato privato del provider di servizi. Nel CAS, la verifica della firma viene eseguita dal certificato pubblico del provider di servizi. Inoltre, la comunicazione viene nuovamente firmata nel CAS dal certificato privato CAS e, nel provider di identificativi (IdP), la verifica della firma viene eseguita dal certificato pubblico CAS.
◦ Qualsiasi comunicazione dall'IdP al CAS è firmata dal certificato privato IdP. Nel CAS, la verifica della firma viene eseguita da un certificato pubblico IdP. Inoltre, la comunicazione viene nuovamente firmata nel CAS dal certificato privato CAS e, nel provider di servizi, la verifica della firma viene eseguita dal certificato pubblico CAS.
L'illustrazione riportata di seguito mostra il processo di esecuzione e di verifica della firma tra diverse applicazioni.
Nell'illustrazione:
◦ ThingWorx è il provider di servizi, PingFederate è il CAS.
◦ Il certificato privato ThingWorx e il certificato pubblico PingFederate vengono configurati nel file keystore e cui viene fatto riferimento dalla configurazione SSO di ThingWorx.
◦ Il certificato pubblico ThingWorx e il certificato privato PingFederate vengono configurati nella sezione della configurazione IdP nel server PingFederate.
◦ Il certificato pubblico IdP e il certificato privato PingFederate vengono configurati nella sezione della configurazione del provider di servizi nel server PingFederate. Il certificato pubblico IdP è incluso nel file Metadata.xml dell'IdP.
◦ Il certificato pubblico PingFederate viene impostato nella configurazione del relying party nell'IdP. Questo certificato è incluso nel file Metadata.xml del provider di servizi, che viene esportato dal PingFederate.
Crittografia e decrittografia XML
Le risposte SAML, che contengono anche l'asserzione, da IdP a CAS e da CAS a provider di servizi vengono crittografate e decrittografate. Gli stessi certificati vengono utilizzati per la firma e la crittografia.
Qualsiasi comunicazione dall'IdP al CAS viene crittografata dal certificato pubblico CAS e, nel CAS, la comunicazione viene decrittografata dal certificato privato CAS. Inoltre, la comunicazione viene crittografata di nuovo nel CAS dal certificato pubblico del provider di servizi. Nel provider di servizi, la comunicazione viene decrittografata dal certificato privato del provider di servizi.
Nell'illustrazione riportata di seguito vengono mostrate la crittografia e la decrittografia XML.
Nell'illustrazione:
◦ ThingWorx è il provider di servizi, PingFederate è il CAS.
◦ Il certificato privato ThingWorx viene configurato in un file keystore nel file ThingWorx a cui viene fatto riferimento nel file sso-settings.json.
◦ Il certificato pubblico ThingWorx e il certificato privato PingFederate vengono configurati nella sezione di configurazione del provider di servizi nel server PingFederate.