Estoy generando un par de claves en la plataforma usando el paquete Bouncy Castle.¿Cómo obtener PublicKey de AsymmetricCipherKeyPair, no los parámetros publickeycipher?
SecureRandom random = new SecureRandom();
ECKeyPairGenerator pGen = new ECKeyPairGenerator();
ECKeyGenerationParameters genParam = new ECKeyGenerationParameters(params,random);
pGen.init(genParam);
AsymmetricCipherKeyPair pair = pGen.generateKeyPair();
Aquí, pair
es de tipo AsymmetricCipherKeyPair
. Y, necesito generar un X509V1Certificate en el servidor usando este par. Pero, el setPublicKey(PublicKey pubkey)
de X509Certificate acepta solo objetos del tipo PublicKey
. Entonces necesito recuperar un PublicKey
de un AsymmetricCipherKeyPair
en el servidor. Pero recibo ECPublicKeyParameters
, que no se acepta en el método setPublicKey
.
Por lo tanto, mi requisito aquí es obtener un PublicKey
de un AsymmetricCipherKeyPair
.
Si usted está en el Java Entorno ME entonces no tienes java.se curity.PublicKey o java.security.cert. –
Gracias por su respuesta. Estoy enviando la clave pública de la aplicación del cliente j2me al servidor para obtener el certificado del cliente. El servidor recibe la clave pública, pero al generar X509Certificate, no puede establecer la clave pública() utilizando la clave pública recibida. Desde la clave pública recibida de tipo ECPublicKeyparameters. Así que quiero cambiar el tipo de esta clave pública a PublicKey en el servidor. Por favor mencione sugerencias. Gracias de antemano. –
Entonces, ¿cómo está enviando la clave del cliente j2me al servidor? ¿La serializaste o la codificaste de alguna manera? –