2010-05-06 4 views
4

Voici mon codeRSA exportation clé publique

KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA"); 
    KeyPair myPair = kpg.generateKeyPair(); 
    PrivateKey k = myPair.getPrivate(); 
    System.out.print(k.serialVersionUID); 

    Cipher c = Cipher.getInstance("RSA"); 
    c.init(Cipher.ENCRYPT_MODE, myPair.getPublic()); 
    String myMessage = new String("Testing the message"); 

    byte[] bytes = c.doFinal(myMessage.getBytes()); 
    String tt = new String(bytes); 
    System.out.println(tt); 
    Cipher d = Cipher.getInstance("RSA"); 
    d.init(Cipher.DECRYPT_MODE, myPair.getPrivate()); 
    byte[] temp = d.doFinal(bytes); 
    String tst = new String(temp); 
    System.out.println(tst); 

Ma question est de savoir comment puis-je obtenir la clé publique et stockées ailleurs

Répondre

4
PublicKey pubKey = myPair.getPublic(); 
byte[] keyBytes = pubKey.getEncoded(); 

Save the keyBytes sous forme de fichier binaire ou le stocker quelque part.

Pour ce faire, pour reconstruire la clé,

KeyFactory keyFactory = KeyFactory.getInstance("RSA"); 
X509EncodedKeySpec pubKeySpec 
    = new X509EncodedKeySpec(keyBytes); 
PublicKey pubKey = keyFactory.generatePublic(pubKeySpec); 
+0

que ce que je cherchais –

Questions connexes