Securing JAX-RS 2.0 client by using SSL

Vous pouvez sécuriser les communications entre l'application Java™ API for RESTful Web Services (JAX-RS) et les clients qui appellent l'application à l'aide du protocole SSL/TLS.

Avant de commencer

Cette tâche suppose que vous avez déjà exécuté les étapes suivantes :
  • Vous avez défini un profil de cellule sur un serveur d'applications ou sur un serveur d'applications fédéré à un gestionnaire de déploiement réseau. Consultez la rubrique relative à la création des profils de cellule pour savoir comment créer des profils de cellule qui contiennent un noeud de serveur d'applications fédéré et un gestionnaire de déploiement.
  • Vous avez installé votre application JAX-RS 2.0 sur le serveur d'applications.

Pourquoi et quand exécuter cette tâche

Les programmes client JAX-RS 2.0 peuvent tirer parti de la sécurité de transport qui utilise SSL (Secure Socket Layer) pour protéger les demandes et les réponses des ressources JAX-RS 2.0.

Si vous avez configuré votre application JAX-RS 2.0 afin qu'elle utilise un canal SSL pour la sécurité de niveau transport, le client JAX-RS 2.0 peut utiliser la connexion SSL pour appeler les ressources REST. Par exemple, si votre application JAX-RS 2.0 est configurée pour utiliser l'authentification de base, utilisez SSL pour que les données d'identification utilisateur soient transportées via des connexions sécurisées.

Pour illustrer ce scénario, supposons que votre cellule contienne un serveur d'applications et que les ressources JAX-RS 2.0 soient déployées sur ce serveur. Les ressources JAX-RS 2.0 de ce serveur requièrent l'utilisation de SSL. Vous pouvez utiliser le client Client for JAX-RS 2.0 pour appeler l'une des ressources sécurisées qui nécessite l'utilisation de SSL. Le client JAX-RS 2.0 est une API de niveau supérieur à HttpURLConnection et à l'intégration aux fournisseurs JAX-RS et il est fourni par ce produit.

Important : Si vous appelez des ressources JAX-RS 2.0 à partir d'une application qui s'exécute dans un environnement WebSphere Application Server, par exemple lorsque vous passez un appel en aval, aucune configuration supplémentaire n'est requise pour SSL. Il est inutile de configurer des connexions SSL pour cette ressource, puisque l'exécution et la configuration SSL du serveur d'applications sont utilisées.

Pour configurer SSL avec le client pour JAX-RS, procédez comme suit :

Procédure

  1. Configurez les propriétés SSL dans la console d'administration de WebSphere Application Server Traditional. Pour plus d'informations, voir Création d'une configuration SSL (Secure Sockets Layer).
  2. Activez la sécurité pour votre application JAX-RS et configurez cette dernière de sorte qu'elle utilise un canal SSL pour le transport lorsqu'elle appelle les ressources REST.

    Lors du développement ou du déploiement d'applications, éditez le fichier web.xml afin d'y ajouter une contrainte de sécurité indiquant que SSL doit être utilisé pour vos ressources. Pour plus de détails sur l'activation de SSL pour votre application, consultez la rubrique relative à la sécurisation des applications JAX-RS dans le conteneur Web.

    L'élément suivant, à l'intérieur de l'élément security-constraint, définit l'imposition de SSL pour l'application :
    <user-data-constraint id="UserDataConstraint_1">
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
     </user-data-constraint>
  3. Pour activer la couche SSL client lorsque vous développez votre application client, ajoutez une propriété client dans votre code d'application client.

    Définissez la clé de propriété client com.ibm.ws.jaxrs.client.ssl.config et attribuez-lui la valeur true. Voir le fragment de code suivant :

    ClientBuilder cb = ClientBuilder.newBuilder();
    cb.property("com.ibm.ws.jaxrs.client.ssl.config", "NodeDefaultSSLSettings");
    Conseil : La valeur de propriété correspond à l'alias SSL de serveur que vous définissez. For more information, go to Application servers->server n, where n is the number that you assigned to the application server.->Web container transport chains->WCInboundDefaultSecure->SSL inbound channel (SSL_2) to check it under the SSL configuration field.
  4. Déployez votre application client sur WebSphere Application Server Traditional à l'aide de la console d'administration.
  5. Démarrez l'application client dans la console d'administration de WebSphere Application Server Traditional. Pour démarrer votre application, accédez à Applications->Types d'application->Applications d'entreprise WebSphere->Démarrer.

Résultats

Vous avez défini une connexion sécurisée entre le client et le serveur cible qui utilise SSL pour garantir l'intégrité et la confidentialité des communications entre l'application JAX-RS et votre client.


Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_jaxrs_impl_securejaxrs2
Nom du fichier : twbs_jaxrs_impl_securejaxrs2.0_clientssl.html