|
Problème de décryptage, webservice REST vers appli WD mobile |
Débuté par Malandain, 12 sep. 2025 11:34 - 1 réponse |
| |
| | | |
|
| |
Posté le 12 septembre 2025 - 11:34 |
Bonjours, j'ai un soucis de décryptage coté WD mobile j'ai ce message : Appel WL :<\r><\n>Traitement de 'Clic sur BTN_SansNom1' (FEN_SansNom1.BTN_SansNom1), ligne 13<\r><\n>Fonction 'DécrypteStandard', syntaxe 1<\r><\n><\r><\n>Que s'est-il passé ?<\r><\n>Le décryptage du message a échoué.<\r><\n>La phase de finalisation de l'algorithme de cryptage/décryptage a échoué.<\r><\n><\r><\n>Code erreur : 101750<\r><\n>Niveau : erreur non fatale<\r><\n><\r><\n>Module : wd290com.dll (01A290089j - 29.0.352.2)<\r><\n><\r><\n>Informations de débogage :<\r><\n>Fonction (10,423)<\r><\n>Informations supplémentaires :<\r><\n>EIT_PILEWL :<\r><\n>Clic sur BTN_SansNom1 (FEN_SansNom1.BTN_SansNom1), ligne 13<\r><\n>EIT_DATEHEURE : 12/09/2025 11:32:52<\r><\n>EIT_TYPE_WDFILE : <2><\r><\n>EIT_IDCODE : <18>
Appli WD mobile :
req est une restRequête req.URL = "http://localhost:8029/Users" rep est une restRéponse = RESTEnvoie(req) SI ErreurDétectée ALORS Erreur(ErreurInfo(errComplet)) RETURN FIN
repconv est un Variant = JSONVersVariant(rep.Contenu) sBase64 est une chaîne = repconv.data bufRecu est un Buffer = Decode(sBase64, encodeBASE64URL) bufCle est un Buffer = HashChaîne(HA_MD5_128,"maClé") bufDecrypte est un Buffer = DécrypteStandard(bufRecu, bufCle, crypteAES128) SI ErreurDétectée ALORS Erreur(ErreurInfo(errComplet)) RETURN FIN
sJSONRecu est une chaîne = bufDecrypte Trace("JSON reçu : " + sJSONRecu)
coté webservice :
Procedure PUBLIQUE GLOBALE LectureTous() : chaîne ANSI
SI Authentification() = Faux ALORS RENVOYER "" FIN
ArrUsers est un tableau de MUsers POUR TOUT MonFichierMappé Users est un MUsers Users.FichierVersMemoire() ArrUsers.Ajoute(Users) FIN
sJSON est une chaîne Sérialise(ArrUsers, sJSON, psdJSON)
bufDatas est un Buffer = sJSON
bufCle est un Buffer = HashChaîne(HA_MD5_128, "maClé")
bufCrypte est un Buffer = CrypteStandard(bufDatas, bufCle, crypteAES128)
sBase64 est une chaîne = Encode(bufCrypte, encodeBASE64URL)
RENVOYER "{""data"":""" + sBase64 + """}" |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 715 messages |
|
Posté le 12 septembre 2025 - 21:44 |
Salut, Je vois 2 soucis
sBase64 est une chaîne = repconv.data bufRecu est un Buffer = Decode(sBase64, encodeBASE64URL) 1 Tu ne précise pas le type de tes chaînes Or sur mobile tu es en unicode alors que sur windows en ansi 2 tu as mal lu l'aide car elle précise pour la fonction decode Qu'il faut utiliser ansiversunicode sur mobile Voici l'extrait en question
Compile SI ConfigurationUnicode> bufResultat = Decode(AnsiVersUnicode(bufLu), encodeBASE64) <SINON> bufResultat = Decode(bufLu, encodeBASE64) <FIN> Après il y a aussi une erreur dans le message d'erreur car il n'y a pas de .dll sauf si tu es encore en windows mobile |
| |
| |
| | | |
|
| | | | |
| | |
|