ситуация: у меня есть сервер-админ-панель, где пользователь должен иметь возможность загрузить приватный ключ/сертификат/ca-сертификат (/CSR) для SSL-защиты сайта.
Загружаемые данные будут выглядеть так:
закрытый ключ =
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEA3u+SI24XGAqIHNLcmCfEFOpMVAOEZOw3DpZ7VexB6soLiu0a
[...]
M9YQw2MV/EhNXTh7PW85HJKAZyTxLJvWIXbEeY9XX+GkqJuQ1GhfgfE=
-----END RSA PRIVATE KEY-----
сертификат =
-----BEGIN CERTIFICATE-----
MIIDfjCCAmigAwIBAgIEU6fNGzALBgkqhkiG9w0BAQUwgYExCzAJBgNVBAYMAkRF
[...]
oosSAukE596+wwM0XXDFOT2T/D0lHvW1QVyFx0GzCRHWqQ==
-----END CERTIFICATE-----
проблема: после загрузки мне нужно проверить, соответствует ли сертификат / ca-cert закрытому ключу ( / CSR), чтобы убедиться, что все загруженные части принадлежат друг другу.
я думаю, что я застрял. С openssl я мог бы проверить, совпадают ли выходные данные следующей команды друг с другом. Но я не знаю, как это сделать с помощью phpseclib.
openssl x509 -noout -modulus -in certificate.crt | openssl md5
openssl rsa -noout -modulus -in privateKey.key | openssl md5
openssl req -noout -modulus -in CSR.csr | openssl md5
(я хотел бы придерживаться phpseclib, поэтому openssl не вариант)
Огромное спасибо!