1 octobre 2009

Cryptage standard HR du mot de passe UC10-CDPASS avec HRv3, v5, v7

Par défaut le mot de passe de l'annuaire HR Access (table UC10 champ CDPASS) est en clair... Le minimum est d'en crypter le contenu.

Pour activer le cryptage standard HR Access, rattachez un traitement de type BCF avec dans le contexte TBPPSW la ligne et regénérez votre processus de confidentialité (AS0DC en standard).
M   "1"          UT-TECRYP         10 IT UT-TECRYP="0"

HR note que le mot de passe est codé en alimentant le champ UC10-CDPRDE (ca sent la vampirisation de rubrique) :
  • 0 : non crypté
  • 1 : cryptage standard
  • 2 : cryptage spécifique

Ce cryptage standard fonctionne par translation de caractère (ce qui est loin d'être parfait). La règle peut se retrouver dans le squelette de BCX :
ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-+;/ !(,)><=$_
-/AZ!1BFJV7(QSCL9X0Y,6+E4=2UR>); P5<8D_GK3MHIONW$T

Pour décoder un mot de passe, on pourra donc utiliser sous Unix une commande comme la suivante :
echo "!,X!7-" | tr "T\-/AZ!1BFJV7(QSCL9X0Y,6+E4=2UR>); P5<8D_GK3MHIONW\$" "_ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\-+;/ !(,)><=\$"

Pour activer un cryptage personnalisé on utilisera :
M   "2"          UT-TECRYP

Le reste est à coder (écrivez des fonctions de codage et de décodage). Vous pourrez aussi faire un appel par un CALL à un module externe ... à condition de linker ce dernier au BNR et au RTSDGN (en modifiant le Makefile de adm/src).

Notez que quelle que soit votre politique, sur le réseau et dans les logs on pourra trouver le mot de passe crypté ... suivant la méthode standard.

4 commentaires:

  1. Bonjour,

    Je suis sur des environnements suite 7 en NT/ORACLE, le soucis c'est que je n'ai pas de traitement de type BCF et ni de contexte TBPPSW, comment faire ?

    SQL> select * from tr25 where tycotx='P' and cdcotx like 'TBPPSW';

    no rows selected

    SQL> select * from TR20 where tytrtu like '%BCF';

    no rows selected

    SQL> select * from TR3P where ZOCOND like '%UT-TECRYP%';

    no rows selected

    SQL>

    Merci pour votre aide

    RépondreSupprimer
    Réponses
    1. Ce n'est pas parce que tu n'as pas de traitement de type BCF sur ton environnement que tu ne peux en créer un ... Ouvre HRStudio, crée un nouveau traitement, choisis le type de traitement adapté. A+

      Supprimer
  2. Bonjour,

    déjà merci pour le retour, en effet j'ai effectué les actions suivantes :

    -Créer un traitement de type BCU.
    -Rajouter la ligne de code dans le contexte TBPPSW du traitement nouvellement créé
    -rattacher le traitement au process AS0DC
    -Valider le processus.
    -lancer une RON.
    -créer un user.

    Sauf que ceci n'a rien donné, mes questions seraient les suivantes :
    -faut-il rajouter une déclaration de variable dans le contexte working du traitement ?

    Je pose ces questions car je ne m'y connais pas en developpement HRa.

    Merci !

    RépondreSupprimer
  3. c'est bon j'ai trouvé , MErci !

    RépondreSupprimer