2017-07-27 4 views
0

Nous créons une application pour partager du contenu dans un scénario hors ligne/en ligne. Nous prévoyons d'utiliser Couchbase avec une bibliothèque qui pourrait signer des données. Nous voulons que les gens puissent utiliser notre application même sans aller sur Internet et, si possible, ils peuvent aussi l'utiliser en ligne. Nous avons besoin que notre application soit capable de signer tous les contenus que les gens créent.Idées sur la gestion des clés et la bibliothèque ios Android pour la signature de documents

J'ai besoin de votre aide pour suggérer comment stocker les clés dans l'application et sur le serveur, et s'il y a déjà quelque chose de fait.

En outre, nous avons besoin d'aide pour trouver une bibliothèque qui peut signer toutes les données à stocker dans Couchbase Lite dans Android et iOS. J'ai trouvé openkeychain, mais il ne semble pas que je puisse prendre à partir de là seulement la bibliothèque nécessaire pour signer le contenu.

Nous apprécierons vraiment vos suggestions. Avoir un gros calin,

Carlos.

Répondre

0

Une fois, j'ai fait une application qui fonctionnait quelque chose comme ça (avec la partie signature et offline/online). Je vais donc vous donner mes deux cents.

Pour la signature, j'ai utilisé une bibliothèque de dessins, simple comme ça et juste quand le dessin est terminé, enregistrez-le dans un fichier de sortie. (Gardez juste à l'esprit de stocker le chemin quelque part et après que l'image est envoyée, supprimez l'image de sorte qu'il ne prendra pas trop d'espace de l'appareil des utilisateurs).

Pour la partie hors ligne/en ligne, vous devriez voir evernote job car c'est une excellente bibliothèque pour l'envoi de données à l'API. Le travail est ensuite créé et essayé d'être envoyé (il envoie généralement une requête json), et si l'utilisateur est hors ligne, il va dans la partie RESCHEDULE et il est reprogrammé aussi longtemps que vous le souhaitez et lorsque l'utilisateur se connecte au travail (avec ses données) sera envoyé à l'API. Et ça marche très bien avec RxJava et retrofit ce qui est un gros plus (du moins pour moi).

Pour la partie de stockage recherchez hawk's store car c'est une grande bibliothèque de magasin de valeur-clé, très facile à utiliser et fonctionne très bien. Essayez simplement de lire la page, tout est décrit directement.

Tout cela est pour la partie android, comme pour l'iOS, vous devrez en trouver un autre.

0

Je suppose que la question concerne une signature numérique, pas une signature manuscrite. Vous pouvez utiliser PGP (comme vous l'avez suggéré avec les tags). Pour l'Android, il y a BouncyCastle et pour iOS, vous pouvez utiliser le framework ObjectivePGP. Cela couvrira la partie de signature. Une approche serait de générer des clés sur les périphériques et d'envoyer une clé publique au serveur, puis d'utiliser cette clé pour signer des données sur le périphérique et vérifier sur le serveur (avec clé publique).