2011-02-08 4 views
1

J'ai une application C# qui appelle un certain nombre d'applications Java dont certaines utilisent SSH pour diverses choses. En ce moment, je reçois de nombreuses boîtes pop-up à partir des applications de ligne de commande Java demandant des mots de passe. Je me demande si vous avez des suggestions concrètes pour la façon dont je pourrais entrer le mot de passe en C# puis le transmettre en toute sécurité aux applications Java. En ce moment, j'appelle les applications Java en utilisant shell exec avec de nombreux paramètres de ligne de commande. La seule chose à laquelle je peux penser est de crypter le mot de passe dans C#, puis de le déchiffrer dans java. mais je soupçonne qu'ils ne partagent pas un processus de déchiffrement commun ou s'ils le faisaient je devrais passer les clés entre les programmes aussi ...Transférer en toute sécurité le mot de passe de C# vers Java Application

des suggestions?

David

+0

Demandez-vous un moyen commun de passer des mots de passe, etc. via des paramètres/appels ... ou demandez-vous spécifiquement comment faire avec les applications disponibles? Si le dernier s'applique, nous aurions besoin de savoir quelles sont ces applications. – Bobby

+0

spécifiquement avec C# et java mais je suppose que la question est plus générale – GreyCloud

Répondre

5

Je pense que le cryptage est une bonne solution.

Mais je peux vous suggérer autre chose. Vous pouvez écrire passwod en texte clair dans l'application stdin de Java à partir de l'application C#. L'application Java doit lire le mot de passe de STDIN et l'utiliser. Il est suffisamment sécurisé car, à moins d'effectuer une ingénierie inverse ou de se connecter à la JVM à l'aide de l'API de débogage à distance, je ne connais pas les moyens d'intercepter ce flux. Si les applications C# et Java s'exécutent sur la même machine, vous ne pouvez pas non plus ignorer le flux.

+0

Ceci est en fait plus sûr que de le chiffrer. L'extraction de la clé de cryptage à partir de C# ou de Java devrait être assez facile, même avec l'obfuscation. – bjornars

+0

n'est-ce pas aussi sûr que de passer le mot de passe comme argument de ligne de commande? – GreyCloud

+0

Je voudrais savoir quelles sont les méthodes de cryptage supportées par C# et Java et si elles doivent partager la même clé de cryptage? – GreyCloud

Questions connexes