|
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 |
| |
| |
| | | |
|
| | | | |
| | |
|