Puoi configurare la tua applicazione web in Liberty utilizzando l'autenticazione client SSL.
Informazioni su questa attività
L'autenticazione del certificato client si verifica se il lato server richiede che il lato client invii un certificato. Un server WebSphere® può essere configurato per l'autenticazione del certificato client sulla configurazione SSL. A tale scopo, si aggiunge la funzione transportSecurity-1.0 Liberty al file server.xml , insieme al codice che indica al server le informazioni sul keystore per l'autenticazione.
Per i dettagli su quali aspetti di SSL sono supportati, vedi Funzioni Liberty.
Procedura
- Verificare che il descrittore di distribuzione per l'applicazione web specifichi l'autenticazione del certificato client come metodo di autenticazione da utilizzare.
Verificare che il descrittore di distribuzione includa il seguente elemento:
<auth-method>CLIENT-CERT</auth-method>
Nota: è possibile utilizzare uno strumento come Rational® Application Developer per creare il descrittore di distribuzione.
- Facoltativo: generare un certificato SSL utilizzando la riga comandi. Vedere il comando securityUtility.
- Configurare il server per abilitare l'autenticazione client SSL aggiungendo le seguenti linee al file server.xml :
<featureManager>
<feature>transportSecurity-1.0</feature>
<featureManager>
<ssl id="defaultSSLConfig" keyStoreRef="defaultKeyStore"
trustStoreRef="defaultTrustStore" clientAuthenticationSupported="true" />
<keyStore id="defaultKeyStore" location="key.jks" type="JKS" password="defaultPWD" />
<keyStore id="defaultTrustStore" location="trust.jks" type="JKS" password="defaultPWD" />
- Se si specifica
clientAuthentication="true", il server richiede che un client invii un certificato. Tuttavia, se il client non dispone di un certificato o se il certificato non è considerato attendibile dal server, l'handshake non riesce.
- Se si specifica
clientAuthenticationSupported="true", il server richiede che un client invii un certificato. Tuttavia, se il client non dispone di un certificato o il certificato non è considerato attendibile dal server, l'handshake potrebbe ancora avere esito positivo.
- Se non si specifica
clientAuthentication o clientAuthenticationSupported, oppure si specifica clientAuthentication="false" o clientAuthenticationSupported="false", il server non richiede che un client invii un certificato durante l'handshake.
- Aggiungere un certificato client al browser. Consultare la documentazione del browser per l'aggiunta di certificati client.
- Assicurarsi che il server considera attendibili tutti i certificati client utilizzati.
- Assicurarsi che i certificati client utilizzati per l'autenticazione client siano associati a un'identità utente nel registro.
- Per il registro di base, l'identità utente è il CN (common name) dal DN (distinguished name) del certificato.
- Per un registro LDAP (Lightweight Directory Access Protocol), il DN dal certificato client deve trovarsi nel registro LDAP.
- Per utilizzare solo l'autenticazione di base, ID utente e password, se l'autenticazione del certificato client non riesce, aggiungere la seguente riga al file server.xml .
<webAppSecurity allowFailOverToBasicAuth="true" />
Nota: se si specifica allowFailOverToBasicAuth="false" o non si specifica allowFailOvertoBasicAuthe l'autenticazione del certificato client non riesce, la richiesta genera un403 Authentication errore al client non viene richiesta l'autenticazione di base.