PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → WD18 - Projet iOS - RequeteHTTP pour WebService / SSL
WD18 - Projet iOS - RequeteHTTP pour WebService / SSL
Débuté par Marc Caruso, 25 juil. 2013 14:09 - 5 réponses
Posté le 25 juillet 2013 - 14:09
Bonjour à tous,

Je fais suite à un post précédant d'il y a quelques mois concernant le support du HTTPS pour consommer des web services.
Windev Mobile 18 ne supporte toujours pas le HTTPS avec la fonction HTTPRequete, malgré les mises à jour passant...
C'est bien dommage, voire même étrange de la part de PCSoft.

Comment peut-on aujourd'hui se passer de connexion sécurisée pour accéder aux données d'une entreprises?
Mes webservices exigent un login + mot de passe ainsi que plusieurs autres paramètres pour pouvoir retourner des réponses. Comment peut-on passer ce genre de paramètre en clair???? C'est tout bonnement impossible!

Je ne penses pas être le seul à envisager des connexions HTTP sécurisées sur iOS n'est-ce pas?

On m'avait également à l'époque conseillé sur ce forum de crypter les données envoyées par mon webservice, et de les décrypter dans mon projet iOS Windev.
Mais mes webservices étant écrits en .Net, je n'ai pas trouvé un cryptage compatible entre Windev et .Net, du genre quelque chose compatible avec la fonction Crypte/Decrypte de Windev...

Quelqu'un a-t-il une idée pour remédier à cela?
Suis-je le seul à vouloir sécuriser mes échanges de données dans un projet Windev Mobile iOS?

Vos idées seront les bienvenues :-)
Merci d'avance,

Marc
Posté le 25 juillet 2013 - 15:31
Bonjour Marc,

Non, tu n'es pas le seul à attendre avec impatience le support HTTPS pour iOS.
En attendant, pas d'autre choix que de passer en clair login et pass. Pour limiter les risques d'interception, j'envoie la requête en POST et non en GET, mais les login/pass sont quand même passés en clair.

Il n'existe de plus aucun cryptage commun chez PC-SOFT entre iOS, Androïd et Windows, ce qui interdit la création d'applications multi-plateformes devant impérativement communiquer entre elles de façon sécurisée.

Il va falloir patienter encore 1 peu.

Jean-Marc
Posté le 25 juillet 2013 - 15:56
Bonjour Marc

une solution possible pour toi est d'écrire une routine de cryptage et
une d'encryptage compatible mobile et winded standard...

Dans windev tu en fais un assemblage .net que tu peux appeler depuis ton
webservice
Et dans mobile, tu l'utilise tel quel

Et hop, cryptage/décryptage maison pour ton webservice

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

Plus d'information sur http://fabriceharari.com


On 7/25/2013 6:09 AM, Marc Caruso wrote:
Bonjour à tous,

Je fais suite à un post précédant d'il y a quelques mois concernant le
support du HTTPS pour consommer des web services.
Windev Mobile 18 ne supporte toujours pas le HTTPS avec la fonction
HTTPRequete, malgré les mises à jour passant...
C'est bien dommage, voire même étrange de la part de PCSoft.

Comment peut-on aujourd'hui se passer de connexion sécurisée pour
accéder aux données d'une entreprises?
Mes webservices exigent un login + mot de passe ainsi que plusieurs
autres paramètres pour pouvoir retourner des réponses. Comment peut-on
passer ce genre de paramètre en clair???? C'est tout bonnement impossible!
Je ne penses pas être le seul à envisager des connexions HTTP sécurisées
sur iOS n'est-ce pas?

On m'avait également à l'époque conseillé sur ce forum de crypter les
données envoyées par mon webservice, et de les décrypter dans mon projet
iOS Windev.
Mais mes webservices étant écrits en .Net, je n'ai pas trouvé un
cryptage compatible entre Windev et .Net, du genre quelque chose
compatible avec la fonction Crypte/Decrypte de Windev...

Quelqu'un a-t-il une idée pour remédier à cela?
Suis-je le seul à vouloir sécuriser mes échanges de données dans un
projet Windev Mobile iOS?

Vos idées seront les bienvenues :-)
Merci d'avance,

Marc
Posté le 26 juillet 2013 - 08:56
Merci a tous pour vos réponse.

Je fais effectivement mes requêtes HTTP en POST, mais les paramètres sont effectivement passés en clair sans SSL.
C'est effectivement moins lisible qu'en GET, mais non sécurisé quand même...

Pour info, j'ai essayé également de faire mes appels aux webservices en objective C, mais c'est galère de mixer les 2 langages dans le même projet, car pour bien faire les choses en objective C, il faut du code dans les .h et .m, de simples procédures écrites directement en C# ne fonctionne pas. J'ai même codé directement dans Xcode, mais à la prochaine compilation du projet dans Windev, tout est perdu, donc de cette façon c'est ingérable... Si quelqu'un a d'ailleurs une idée la dessus :-)

Concernant le cryptage, c'est également ce que j'ai tenté de faire, mais mon assemblage .Net n'est pas accepté dans un projet iOS, donc j'en suis toujours au même point :-(

Merci poru votre aide!

Marc
Posté le 26 juillet 2013 - 15:00
Bonjour Marc

ton assemblage .net n'a RIEN à faire du coté IOS...

Tu dois juste avoir les deux même procédures en wlanguage, une fois
DIRECTEMENT dans ton projet pour IOS, et une fois compilé en assemblage
..net pour usage dans ton webservice

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

Plus d'information sur http://fabriceharari.com


On 7/26/2013 12:56 AM, Marc Caruso wrote:
Merci a tous pour vos réponse.

Je fais effectivement mes requêtes HTTP en POST, mais les paramètres
sont effectivement passés en clair sans SSL.
C'est effectivement moins lisible qu'en GET, mais non sécurisé quand
même...

Pour info, j'ai essayé également de faire mes appels aux webservices en
objective C, mais c'est galère de mixer les 2 langages dans le même
projet, car pour bien faire les choses en objective C, il faut du code
dans les .h et .m, de simples procédures écrites directement en C# ne
fonctionne pas. J'ai même codé directement dans Xcode, mais à la
prochaine compilation du projet dans Windev, tout est perdu, donc de
cette façon c'est ingérable... Si quelqu'un a d'ailleurs une idée la
dessus :-)

Concernant le cryptage, c'est également ce que j'ai tenté de faire, mais
mon assemblage .Net n'est pas accepté dans un projet iOS, donc j'en suis
toujours au même point :-(

Merci poru votre aide!

Marc
Posté le 01 août 2013 - 13:54
Bonjour Fabrice,

Merci pour ta réponse.
Malheureusement, rien ne fonctionne, je n'arrive pas a trouver de solution.

Mon souci, c'est d'arriver a crypter en .Net d'un cote et de decrypter dans mon code Windev iOS de l'autre, ce qui veut dire meme algorithme d'encryption/decryption des 2 cotes.

J'ai essayer d'implementer ca soit directement dans mon webservice en .Net, soit directement dans mes procedures SQL Server, au moyen des fonctions CLR, qui permettent d'autoriser SQL Server a utiliser une DLL externe, en creant des fonctions qui vont bien appelant les méthodes/classes de cette DLL),

J'ai tente 2 approches :

- un assemblage .Net cree en Windev 18, avec 2 fonctions basiques Encrypt/Decrypt utilisant directement les fonctions Crypte et Decrypte de Windev. Quand j'essais d'utiliser cette DLL dans mon projet .Net de mon webservice, avec la fonction DLLImport en C#, mon code semble tout bon, sans erreur, mais mes méthodes Encrypt/Decrypt sont introuvables, inaccessibles quand le code s'execute...

- j'ai cree une DLL en C#, utilisant les fonctions de cryptage integrees de .Net. Je l'utilise dans mon projet Windev PC, tout est ok. Je l'utilise dans mon projet Windev iOS en mode TEST, tout est ok, mais sur l'ipad ou l'iphone directement, erreur disant que les assemblages .Net ne sont pas pris en charge.... Super!

Que du bonheur donc :-)

Donc vraiment, je ne sait plus quoi faire...
Une petite idée?

Merci d'avance.
Marc