El ÉXITO!
Yo era capaz de recuperar la clave privada. Pero no fue fácil. Aquí es lo que usted necesita hacer:
- Hacer seguro de que no se reinicie el servidor o Apache. El juego es en ese punto. Que también significa asegurarse de que no hay supervisión de los servicios de reiniciar Apache.
- Agarra este archivo - código fuente de una herramienta que se llama passe-partout.
-
Extraer el código fuente y ajustar la línea 9 de Makefile.main
a leer:
$(CC) $(CFLAGS) -o $@ $(OBJS) $(LDFLAGS)
(Observe que el $(OBJS)
y $(LDFLAGS)
se invierte en orden.)
- Ejecutar
./build.sh
.
-
Agarrar el PID de Apache usando:
service apache2 status
-
Ejecutar el passe-partout
comando como root:
sudo passe-partout [PID]
...donde [PID]
es el valor obtenido en el paso #5.
-
Si el programa tiene éxito, el directorio actual tendrá un montón de claves adicionales:
you@server:~# ls
id_rsa-0.key id_rsa-1.key id_rsa-2.key
Si todo ha ido bien (y espero que lo hizo), una de las claves es el que usted necesita. Sin embargo, si había más de un certificado/keyfile en uso, entonces usted necesita para averiguar cuál es. Aquí es cómo hacerlo:
Primero agarra una copia del certificado que coincida con la clave firmada. Suponiendo que el archivo se denomina server.crt
, ejecute el siguiente comando:
openssl x509 -noout -modulus -in server.crt | openssl md5
Esta salida será de un valor que usted tendrá que coincidir en contra de cada una de las teclas. Para cada clave, ejecute el siguiente comando:
openssl rsa -noout -modulus -in id_rsa-0.key | openssl md5
Si uno de ellos de los partidos, de que usted haya encontrado la clave.
Crédito: este artículo me señaló passe-partout.