Problème
L'exécution sur un AS/400 d'un EXECUTER_HTTP avec une url en https rend un *CODE_RETOUR à 77. Cette erreur se produit même si on utilise l'option --insecure.
Solution
Cette erreur peut arriver parce que le magasin de l'AS/400 des certificats n'existe pas ou parce que le profil utilisateur AS/400 exécutant le EXECUTER_HTTP n'a pas les droits en lecture sur le magasin de l'AS/400 contenant les certificats de l'AS/400.
Il faut d'abord s'assurer que le magasin *SYSTEM existe bien dans le DCM (Digital Certificate Manager) de votre AS/400 et si ce n'est pas le cas il faut le créer.
Pour cela voir : http://www-01.ibm.com/support/docview.wss?uid=nas8N1010320
Par défaut ce magasin correspond au fichier suivant de l'IFS : /QIBM/UserData/ICSS/Cert/Server/DEFAULT.KDB.
Il semble que par défaut sur l'AS/400 ce fichier soit en *EXCLUDE pour *PUBLIC.
Pour résoudre le problème 2 solutions sont possibles :
Solution 1 : (un peu "brutale" en terme de droit)
- Accorder le droit spécial *ALLOBJ au profil utilisateur exécutant le EXECUTER_HTTP
Solution 2 :
Il s'agit de modifier les droits sur le fichier (et l'imbrication des dossiers le contenant).
- faites un WRKLNK OBJ('/QIBM')
- faites l'option 9 ("Gérer les droits") devant la ligne "QIBM" et vérifiez que l'utilisateur *PUBLIC a le droit de données au moins en *RX. Si ce n'est pas le cas accordez le via l'option 2 ("Modifier droit utilisateur") de ce nouvel écran.
- revenez sur sur la liste avec "QIBM", et faites l'option 5 ("Afficher") devant la ligne "QIBM".
- faites l'option 9 ("Gérer les droits") devant la ligne "UserData" et vérifiez que l'utilisateur *PUBLIC a le droit de données au moins en *RX. Si ce n'est pas le cas accordez le via l'option 2 ("Modifier droit utilisateur") de ce nouvel écran.
- refaites l'équivalent des étapes 3 et 4 pour les sous-dossiers "ICSS", "Cert", "Server" et pour le fichier "DEFAULT.KDB"
- pour s'assurer que tous les dossiers imbriqués et le fichier "DEFAULT.KDB" ont bien au moins le droit *RX pour *PUBLIC (ou pour le profil utilisateur exécutant le EXECUTER_HTTP), ouvrez une session AS/400 avec le profil de l'utilisateur exécutant le EXECUTER_HTTP et lancez la commande WRKLNK OBJ('/QIBM/UserData/ICSS/Cert/Server/DEFAULT.KDB'), puis faites l'option 5 sur la ligne "DEFAULT.KDB" (si pas d'erreur c'est que c'est OK)
Articles connexes