Protéger des données confidentielles dans un code source java lisible
Bonjour,
Tout d'abord, merci pour ce forum et ce site qui sont une vraie mine d'informations sur java et le reste :ccool:
Je prend mon clavier car je me retrouve devant une question certes surement bateau mais qui me bloque. Bien que j'ai cherché, je n'ai point trouvé de réponse. Surement j'ai pas utilisé les bons mots clés, aussi je permet de vous la soumettre.
J'ai un outil qui permet la saisie de données, puis l'impression d'un fichier pdf (via la génération d'un fichier xml qui est utilisé ensuite par un template ireport - c'est la méthode la plus simple que j'ai trouvé).
Au moment de l'impression, je fais un envoi d'un mail avec le fichier temporaire xml.
Par ailleurs si à tout moment l'outil tappe une erreur, en plus d'un message d'erreur pour l'utilisateur j'envoie un mail anonyme pour retour d'erreur.
Voila le contexte.
Ma classe mail a différentes constantes de configuration comme le port. Mais aussi le login et password du compte mail utilisé ! (utilisation d'un compte gmail).
Bien que cette classe soit dans ma librairie principale que j'encapsule dans un exe, je sais bien qu'il est facile de revenir en arrière et donc voir mon code source et mon couple login/password.
A terme au lieu de mail, je compte utilise une connexion ftp sur un site perso pour stocker les données mais j'aurais le même problème sur l'utilisation du mot de passe de connexion.
D'où ma question, comment fait-on en java dans le code qui sera quoiqu'il arrive facilement lisible par un autre développeur pour stocker des informations importantes et confidentielles ?
Au début je comptais passer par un fichier de config que je peux crypter et décrypter mais bon la clé de cryptage reste dans le code source. Donc c'est pareil. Tout comme je sais que l'ofuscation permet de rendre le code moins lisible, mais on ralenti juste la recherche on ne l'empêche pas.
Comme je me doute que mon besoin et problème est d'un commun afflichant, je pense qu'il doit y avoir une méthode rodée de par le temps pour faire ce genre de chose.
Pourriez-vous svp m'indiquer la méthode standard qu'on utilise dans ces cas-là ?
Merci beaucoup pour votre aide.