Foros del Web » Programación para mayores de 30 ;) » Java »

Pasar un String a PrivateKey

Estas en el tema de Pasar un String a PrivateKey en el foro de Java en Foros del Web. Hola a todos, esto realizando una aplicación y me surge una duda: En una de las clases creo un elemento de tipo PrivateKey clave = ...
  #1 (permalink)  
Antiguo 22/05/2007, 10:23
 
Fecha de Ingreso: noviembre-2006
Mensajes: 199
Antigüedad: 17 años, 5 meses
Puntos: 2
Pasar un String a PrivateKey

Hola a todos, esto realizando una aplicación y me surge una duda:

En una de las clases creo un elemento de tipo
PrivateKey clave = claveRSA.getPrivate()

y genero la clave RSA. Esta clave la guardo en un fichero de texto (primero creo un FileWriter con el nombre del fichero y luego PrintWriter escribo la clave.Al escribir la clave e el fichero hago:
pw.println(new String(clave.getEncoded()))
//para asi pasarlo a String y meterlo en el fichero.

Mi duda es que ahora desde otra clase necesito acceder a ese fichero y recuperar la clave, pero tal como lo hago, la recupero en modo String (la recupero creando un BufferedReader al fichero y con buffer.readline); yo necesito recuperarla en modo PrivateKey, para seguir trabajando con ella.

¿Alguien sabe como puedo pasarla a PrivateKey, o bien si debo guardarla en el fichero de otra forma?

Muchas gracias.
  #2 (permalink)  
Antiguo 22/05/2007, 11:11
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Pasar un String a PrivateKey

En este ejemplo que viene con la documentacion puedes ver como lo hacen para escribir/recuperar el certificado entero:
http://java.sun.com/j2se/1.5.0/docs/....html#ReadCert, del certificado se sacan las claves, asi que listo.

Por otro lado, un poco más arriba tienes el metodo de pasar una clave como array de bytes:
http://java.sun.com/j2se/1.5.0/docs/...l#KeyFactoryEx
El ejemplo usa una clave publica en vez de privada, pero segun el API parece que el funcionamiento es el mismo.

Por ultimo, decir que PrivateKey es Serializable, así que guardandolo así te bastaría, y que tambien puedes usar los KeyStore, si tienes que pasar varios certificados etc. para no tener que pasar las claves privadas de aquí para allá.

S!
  #3 (permalink)  
Antiguo 22/05/2007, 14:19
 
Fecha de Ingreso: noviembre-2006
Mensajes: 199
Antigüedad: 17 años, 5 meses
Puntos: 2
Re: Pasar un String a PrivateKey

Hola, lo siento pero no consigo entender cómo solucionar mi problema. ¿Podrías decirme cómo afecta a mi código?

Creo y guardo la clave en el fichero así:

KeyPair clavesRSA = keyGen.generateKeyPair();
PrivateKey clavePrivada = clavesRSA.getPrivate();
PublicKey clavePublica = clavesRSA.getPublic();

FileWriter fichero = new FileWriter("Publica.txt");
PrintWriter pw = new PrintWriter(fichero);
pw.println(new String(clavePublica.getEncoded()));

Y la recupero así:

FileReader fr = new FileReader("Publica.txt");
BufferedReader br = new BufferedReader (fr);

String clave= br.readLine();

No sé cómo tengo que modificarlo, no entiendo los ejemplos de los links.
Muchas gracias de antemano.

Tambien decir que sólo necesito hacer esto, guardar las claves y luego acceder a ellas para poder descrifrar.

Última edición por ferola; 22/05/2007 a las 14:21 Razón: mal escrito antes
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:11.