Pour compléter la réponse de GREGS, en supposant que vous utilisez Java comme langage de programmation:
- Vous devriez transformer l'encodage base64 en binaire. Il y a des décodeurs Base64, par exemple. this one, qui semble être "domaine public", donc réutilisable à volonté. Vous pouvez également l'implémenter vous-même; ce n'est pas dur. Wikipedia a les liens utiles pour cela.
- Décoder le blob binaire à l'aide de la structure ASN.1
SubjectPublicKeyInfo
. Ce n'est pas très facile (sauf si vous maîtrisez ASN.1) mais le code existant peut être utilisé pour cela. En particulier, Java sait comment faire cela directement.
décodage clé publique en Java ressemble à ceci (en supposant que le blob binaire est dans la variable blob
):
KeyFactory kf = KeyFactory.getInstance("RSA");
KeySpec ks = new X509EncodedKeySpec(blob);
RSAPublicKey pk = (RSAPublicKey)kf.generatePublic(ks);
et de l'instance RSAPublicKey
, vous avez les méthodes getModulus()
et getPublicExponent()
qui sont explicites . Les classes pertinentes sont dans les paquets java.security
, java.security.interfaces
et java.security.spec
. Pour votre clé publique, ceci donne les résultats suivants:
modulus = 102645155313298195029358862270152655993457886674545775623230610032728692959011417523892551564448476401788726191516935717690886291325065114613951136136194912439244754958152467056511740824446734443711392654194943771385565670988939260236433577393483222184597978937921816958725758100559250155638540637401770719799
public exponent = 65537