2009-09-29 8 views
1

Comment lire la clé publique RSA en Java à partir du fichier xml?Lire RSAPublicKey en Java à partir du fichier XML

Il s'agit du format de fichier.

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<RSAKeyValue> 
    <Modulus>jWa96uXeSM6hUH0E/ueihtuowdte8</Modulus> 
    <Exponent>BAAQ</Exponent> 
</RSAKeyValue> 

Répondre

4

Cet élément fait partie de xmlsec, normalement il est enveloppé dans < KeyInfo>. Java 6 est livré avec le support de XMLSec mais je doute qu'il ait une interface publique pour analyser ce seul élément.

Il s'agit simplement d'une clé publique codée Base64. Dites-vous Base64-décoder le contenu XML en tableau byte comme modBytes et expBytes. Vous pouvez le convertir en clé JCE comme ceci,

 KeyFactory rsaFactory = KeyFactory.getInstance("RSA"); 
    RSAPublicKeySpec rsaKeyspec = 
     new RSAPublicKeySpec(new BigInteger(modBytes), 
      new BigInteger(expBytes)); 
    PublicKey key = rsaFactory.generatePublic(rsaKeyspec); 
Questions connexes