8.8. Configuration de lecteurs de carte à puce USB externes

8.8.1. Installation
8.8.2. Désinstallation
8.8.3. Problèmes connus et limitations

Sun Ray Software fournit le gestionnaire IFD CCID V1.3.10 pour la prise en charge des lecteurs de carte à puce USB externes CCID connectés aux clients Sun Ray. Le gestionnaire IFD CCID V1.3.10 est une implémentation Sun Ray du gestionnaire de périphérique d'interface (IFD) pour l'API PC/SC-lite API. Lorsqu'il est utilisé en conjonction avec les services smart card fournis par Sun Ray Software, ce gestionnaire IFD CCID permet aux applications PC/SC compatibles et à la couche middleware d'utiliser des lecteurs de carte à puce USB externes dans les clients Sun Ray.

8.8.1. Installation

Suivez les instructions ci-après pour installer le gestionnaire CCID IFD.

Note

Pour installer le gestionnaire CCID IFD dans un environnement Oracle Solaris Trusted Extensions, effectuez l'installation en tant qu'utilisateur root à partir d'ADMIN_LOW (zone globale).

  1. Téléchargez et décompressez le gestionnaire CCID IFD.

    Note

    Le gestionnaire CCID IFD n'est pas fourni avec Sun Ray Software version 5.3. Toutefois, vous pouvez télécharger le composant PC/SC-lite 1.3 à partir du Pack 5.1.1 Media, qui comprend la distribution du gestionnaire CCID IFD v1.3.10. Seul le gestionnaire CCID IFD doit être installé. PC/SC-lite est déjà installé avec Sun Ray Software 5.3.

  2. Connectez-vous au serveur Sun Ray en tant que superutilisateur.

  3. Installez le gestionnaire CCID IFD :

    # svcadm disable pcscd
    # /usr/sbin/pkgadd -d . SUNWusb-scrdr
    # svcadm enable pcscd

8.8.2. Désinstallation

Suivez ces instructions pour supprimer le gestionnaire CCID IFD.

Note

Pour désinstaller le gestionnaire IFD CCID d'un environnement Oracle Solaris Trusted Extensions, effectuez la désinstallation en tant qu'utilisateur root à partir d'ADMIN_LOW (zone globale).

  1. Connectez-vous au serveur Sun Ray en tant que superutilisateur.

  2. Désinstallez le gestionnaire CCID IFD :

    # svcadm disable pcscd
    # /usr/sbin/pkgrm SUNWusb-scrdr
    # svcadm enable pcscd

8.8.3. Problèmes connus et limitations

8.8.3.1. La mobilité de session, la réinitialisation ou un cycle d'alimentation d'un client Sun Ray peut bloquer toutes les applications.

La mobilité de session, la réinitialisation ou la mise sous tension progressive du client Sun Ray à l'aide d'un lecteur de carte à puce externe ne sont pas pris en charge dans cette version. Ces opérations peuvent entraîner le blocage des applications ou la perte de toute trace du lecteur externe.

8.8.3.2. Délais d'énumération PC/SC-lite USB sur les clients

Actuellement, il y a un délai de quelques secondes avant que les lecteurs USB externes deviennent visibles pour les applications clientes PC/SC-lite. Ce délai survient dès lors qu'une instance PC/SC-lite est démarrée pour une session utilisateur ainsi qu'à l'occasion de tout autre délai requis par le bus USB à ré-énumérer. Plus précisément, un délai d'énumération dans lequel les lecteurs USB externes ne sont pas visibles immédiatement pour une application se produit dans les circonstances suivantes :

  • La première fois qu'une instance de PC/SC-lite est démarrée. C'est-à-dire, lorsqu'une application tente d'accéder à PC/SC-lite à partir d'une session donnée pour la première fois.

  • Chaque fois qu'une instance de PC/SC-lite est automatiquement redémarrée après une auto-interruption de PC/SC-lite en raison d'une période d'inactivité. Cette opération est similaire à celle du premier cas.

  • Chaque fois qu'un événement de mobilité de session se produit, cela provoque un retard dans la visibilité des lecteurs pendant que les lecteurs USB externes sont ré-énumérés dans le client Sun Ray cible. La mobilité de session n'est actuellement pas prise en charge par le gestionnaire IFD CCID pour les lecteurs USB externes des clients Sun Ray.

  • Réinitialisation ou mise sous tension progressive du client Sun Ray dans une session Sun Ray.

8.8.3.3. Le délai d'énumération pose des problèmes à certaines applications.

Certaines applications, telles que la connexion par carte à puce à Windows sur le connecteur Windows, ne sont pas conçues pour s'adapter aux délais d'énumération liés au modèle de connexion à chaud USB. Les applications de ce type ne voient pas les lecteurs qui apparaissent après qu'elles aient initialement analysé la liste des lecteurs PC/SC-lite. En d'autres termes, les lecteurs qui s'affichent en retard risquent d'être ignorés par une application en raison de l'un des scénarios décrits ci-dessus.

Il arrive parfois que les applications utilisent le premier lecteur qu'elles trouvent. Sur les clients Sun Ray, c'est toujours le lecteur interne, sauf s'il a été désactivé à l'aide de la commande suivante :

# utdevadm -d -s internal_smartcard_reader

Une solution supplémentaire consiste vérifier que la liste des lecteurs USB est visible pour l'application avant que celle-ci n'analyse la liste des lecteurs. Une manière de gérer ce problème consiste à empêcher les instances PC/SC-lite d'arriver à expiration à l'issue du délai d'inactivité spécifié précédemment. Vous pouvez désactiver l'expiration de l'instance en modifiant le fichier /etc/smartcard/pcscd-SunRay.conf et en attribuant la valeur -1 au paramètre INSTANCE_TIMEOUT. La valeur d'expédition par défaut est 600 secondes (10 minutes).

Lorsque vous désactivez les délais d'inactivité en modifiant INSTANCE_TIMEOUT, les instances de PC/SC-lite restent opérationnelles jusqu'à ce que la session de l'utilisateur soit interrompue, ce qui peut signifier que de nombreux processus PC/SC-lite peuvent être présents dans la table des processus, à l'aide des ressources système.

Actuellement, nous n'avons pas de données sur l'ampleur de l'impact qui peut provoquer la croissance du nombre de sessions utilisateur dans un système (p. ex., nous avons des données insuffisantes sur la manière dont cela s'adapte). Dans la plupart des cas, ce n'est peut-être pas un problème du tout, à l'exception du fait que la table des processus sera plus encombrée par des processus inactifs que dans le cas contraire.