УСПІХ!
Мені вдалося отримати приватний ключ. Але це було непросто. Ось що вам потрібно зробити:
- Переконайтеся, що ви не перезавантажуєте сервер або Apache. Гра закінчилася в цей момент. Це також означає переконатися, що жодні служби моніторингу не перезапускають Apache.
- Візьміть цей файл - вихідний код інструменту з назвою pass-partout .
Витягніть вихідний код і відрегулюйте рядок 9 Makefile.main
для читання:
$(CC) $(CFLAGS) -o $@ $(OBJS) $(LDFLAGS)
(Зауважте, що $(OBJS)
і $(LDFLAGS)
перетворено порядок.)
- Біжи
./build.sh
.
Візьміть PID Apache за допомогою:
service apache2 status
Запустіть passe-partout
команду як корінь:
sudo passe-partout [PID]
... де [PID]
значення, яке ви отримали на кроці №5.
Якщо програма вдасться, у вашому поточному каталозі з'явиться купа додаткових ключів:
you@server:~# ls
id_rsa-0.key id_rsa-1.key id_rsa-2.key
Якщо все пішло добре (і, сподіваємось, це було), один із цих ключів - той, який вам потрібен. Однак якщо у вас було більше ніж один сертифікат / файл файлів у використанні, вам потрібно розібратися, який це. Ось як це зробити:
Спочатку візьміть копію сертифіката, яка відповідає підписаному ключу. Припускаючи, що файл названий server.crt
, запустіть таку команду:
openssl x509 -noout -modulus -in server.crt | openssl md5
Це виведе значення, яке вам потрібно буде відповідати кожній з клавіш. Для кожної клавіші запустіть таку команду:
openssl rsa -noout -modulus -in id_rsa-0.key | openssl md5
Якщо одна з них відповідає, ви знайшли ключ.
Кредит: ця стаття вказувала мені на прохід.