L’auteur de MedShakeEHR est développeur enregistré auprès d’APICEM (société gérant Apicrypt). Il est en droit d’intégrer dans ses réalisations les binaires fournis par APICEM pour le chiffrement / déchiffrement des données Apicrypt v1 comme v2. Ces composants seront donc communiqués à tout professionnel désireux de faire de MedShakeEHR son outil de travail quotidien.
Notez qu’à la demande d’APICEM, vous ne trouverez pas certaines portions du code de MedShakeEHR dans le repository public, en particulier pour la mise en œuvre d’Apicrypt v2.
Apicrypt v1 :
Nous avons cherché la solution la plus simple et la plus efficace pour l’utilisation conjointe des binaires Apicrypt et d’un serveur web comme celui nécessaire à MedShakeEHR.
La solution retenue est l’ajout des lignes suivantes à /etc/sudoers :
www-data ALL=(ALL) NOPASSWD:/home/EHR/apicrypt/bin/apicrypt
www-data ALL=(ALL) NOPASSWD:/home/EHR/apicrypt/bin/apicryptpj
www-data ALL=(ALL) NOPASSWD:/home/EHR/apicrypt/bin/apiuncrypt
www-data ALL=(ALL) NOPASSWD:/home/EHR/apicrypt/bin/apiuncryptpj
Vérifier les binaires qui doivent bien avoir les droits d’exécution et appartenir à root.
Apicrypt v2 :
Un seul binaire est utilisé ici. Il s’agit de celui qui sert à déchiffrer les nouvelles clefs envoyées annuellement. On le trouve dans /home/EHR/apicrypt/bin/ApiV2AESUtility
. Il convient de s’assurer qu’il soit exécutable par www-data.
Pour Apicrypt v2, il convient également de désactiver le répertoire /tmp
privé d’Apache de cette façon si PHP est exécuté comme un module :
cp /lib/systemd/system/apache2.service /etc/systemd/system/
nano /etc/systemd/system/apache2.service
Définir PrivateTmp=false
Relancer ensuite :
systemctl daemon-reload
systemctl restart apache2.service
Considérer aussi, si persistance de problèmes, la possibilité que le service PHP puisse présenter la même problématique ou que le php.ini contienne une directive sys_temp_dir
. Voir également sous Debian /etc/ssl/openssl.conf
et le paramètre CipherString = DEFAULT@SECLEVEL=2
.
Si vous souhaitez que l’utilisateur administrateur puisse relancer le service Apicrypt 2 depuis la zone de configuration, ajoutez à /etc/sudoers les lignes suivantes :
Cmnd_Alias RESTART_APICRYPT = /usr/sbin/service compagnonApicrypt *
www-data ALL=(ALL) NOPASSWD:RESTART_APICRYPT
Les réglages généraux pour l’utilisation d’Apicrypt en envoi et en réception se trouvent dans "Configuration > Paramètres courants > Paramètres globaux" à l’onglet Apicrypt.
Les paramètres sont documentés in situ et leur compréhension ne devrait pas poser de difficulté particulière (l’article "Installation et configuration initiale de MedShakeEHR" peut offrir également quelques explications supplémentaires) .
Afin qu’un utilisateur puisse accéder au courrier entrant en provenance d’une ou plusieurs boites Apicrypt, il convient de personnaliser (voir cet article) pour cet utilisateur le paramètre apicryptInboxMailForUserID
. Celui doit contenir l’ID numérique du compte utilisateur qui relève le mail (cf. paragraphe suivant). Si on souhaite un accès à plusieurs comptes, on peut séparer les ID numériques par des virgules (et sans espace).
Les paramètres suivants devront être personnalisés utilisateur par utilisateur (voir cet article) pour Apicrypt v1 :
– apicryptAdresse
– apicryptUtilisateur
– apicryptPopUser
– apicryptPopPassword
Pour Apicrypt v2 :
– apicryptAdresse
– apicryptUtilisateur
– apicryptPopPassword
– apicrypt2CertName
(optionnel)
– apicrypt2CertPassword
(optionnel)
On pourra configurer également le paramètre suivant si l’utilisateur doit avoir accès aux mails entrants d’autres utilisateurs (cf. paragraphe précédent).
– apicryptInboxMailForUserID
MedShakeEHR est fourni avec 2 scripts de relève automatique des boites Apicrypt configurées dans le logiciel, suivant la version d’Apicrypt mise en oeuvre.
Le paramétrage s’effectue dans "Configuration > Paramètres courants > Tâches planifiées".
Le principe est d’examiner chaque compte utilisateur et d’en déduire lesquels comportent une adresse Apicrypt puis de boucler d’adresse en adresse en lançant la relève des mails. Chaque mail relevé est attaché au compte utilisateur qui porte l’adresse correspondante.
apicryptAdresse
à chaque utilisateur, même s’il est unique dans le système.L’intégration des clefs Apicrypt comme la mise à jour annuelle peut se faire via la page Configuration du logiciel.
Le principe est de configurer initialement le système avec le bon paramètre apicryptCheminVersClefs
, c’est à dire chemin vers le répertoire" Clefs" Apicrypt contenant les clefs de l’utilisateur. Il convient en effet que les clefs soient bien dans un répertoire Clefs (avec majuscule) pour le bon fonctionnement. Le chemin indiqué ne doit pas indiquer le répertoire Clefs final.
Comme pour chaque paramètre de configuration, celui-ci peut être surchargé et personnalisé pour chaque utilisateur (voir cet article). Il est donc possible de définir un répertoire par utilisateur (mais cela ne semble pas absolument nécessaire).
Pour une gestion courante des clefs par interface web, il convient de vérifier que le répertoire Clefs soit accessible en lecture / écriture par le serveur web.
Indications visuelles et messages explicatifs vous renseigneront à ce sujet sur la page de gestion.
Certaines clefs étant fournies chiffrées à l’utilisateur (fichier se terminant par l’extension .aes), MedShakeEHR propose de les déchiffrer après upload.
Le code long de déchiffrage est alors nécessaire pour accomplir le processus correctement.
Notez (v5.9.0) que la page Informations système en zone Configuration permet de vérifier la bonne réponse au ping du service Apicrypt v2.
Article précédent
Article suivant