Bonjour,
Du coup je suis en train d'essayer de générer des clefs rsa côté serveur avec openssl.
Mais je ne trouve pas beaucoup d'informations sur le format utilisé pour l'envoi des clefs.
Dans AuthentificationManager, la chaine reçu (la "clef" que le serveur envoi dans le paquet HelloConnectMessage) est encodé en format PEM (base64+ suffixe et prefixe correspondant). Ensuite dans le fichier PEM, je vois que DER est utilisé pour récupérer la clef (dependance de la bibliotheque hurlant qui gère la crypto).
D'après mes recherches, les clefs dofus sont encodées en X509, d'après les infos de sorrow et les miennes, je pense que l'on a:
le serveur charge une paire de clefs rsa déja générée (grandes) : clef publique /clef privée
le serveur génère une paire de clefs rsa (plus petites) :clef publique/clef privé
le serveur encode la clef publique en X509, puis la chiffre avec clef privé selon le scheme PKCS.
Il envoie cette chaine sous le nom "key", dans le paquet HelloConnectmessage.
Le client possède clef publique, il dechiffre "key" et en extrait clef publique en DER (le meme format que les certificats x509 mais ce n'est pas un certificat).
Il prend clef publique la passe en base64 et rajoute les suffixes et prefixes pour la stocker en PEM.
Ensuite il l'utilise!! ;)
Vous en pensez quoi? Est ce que j'ai bien raison quand je dis que le format PEM contient la clef en X509?
Merci pour vos réponses!!