Генерация сертификатов RSA с помощью PHP и OpenSSL - PullRequest
0 голосов
/ 02 апреля 2019

Я пытаюсь сгенерировать сертификаты RSA с помощью php (PHP 7.1.27, OpenSSL 1.1.1, образ на основе debian: stretch-slim)

$privkey = openssl_pkey_new(array(
        "private_key_bits" => 2048,
        "private_key_type" => OPENSSL_KEYTYPE_RSA,
        "encrypt_key" => false
    ));
openssl_pkey_export($privkey, $pkeyout, "password") and var_dump($pkeyout);

Вывод выглядит хорошо

    -----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFHDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQITarJFd1PSLICAggA
MAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECIU4JxTjE2L3BIIEyHEZLrtgOf6a
T0nBsowlrEKrNZsQfqeUToFJlH9ElLLVzCwW2EWWRsI2QHyUIZmUVT801ka2KTqa
8hQsp+lPr7QaTyOjJRXKxuMFXPYUVI3/H/1yiA4Nr+a9FHf9K0ni5QoEVWL0dupM
QclSzovOjDZZouPl4PPh2C7LG9x602T1gf960747YOmaEw+RzJZjrYIjf9vIs7tg
Axb0M3WTlq75nbOd1vcaBMwIO9MffrgWq6+mAE/5tJr1tZxxl/cCIz3uZnWIWnnt
CX+AKyJoBEkhhLMCA8CsgldCPc3QeAnbTlRQIPnXROmh4kL8sLcQgLKviXiuRKTP
DkMlWkZTLfQ1cLAYB6WhHIfLY8Yq2nkl3BCBGdVkXoPOHXF7czRe4cqY/fwk8Oq5
ETQEl8AT8gZN19qrMXrPX5HQeqBuhfjQhkXRkVeOkcpYs1d7qMjColVCMfWDyQph
tsLCtr0URTjVihgjhDvBiN1VlQb0tXuUn9i5qGNFSAkHthPrezFosN2jGrlMqspf
ZvjfD93bLioV6OsUMg1GgU6IYw0occ6w5O/T1F5AHs6ah2nqIVHBCoO8a8607Zu7
BGNIuBu/hg1oKE5UL+WVu1YvYe9J5XxgVBuql5fYSTAsgDeNJ2DwLPNtW2knOg8K
zjn5/cZTTk0yJPbx8KArdEshJZRU+/XRs6umdD1r3wxQqg85McbVwXp3Mp8pyUHQ
cNJlANMZLETMqOjPhx4c/7xGv55RO8ASbXQ8axcPSBhIFpzrUONWrdj715kvr74H
L7brcvHf272XguTuvTLN+RqTnRdr8gCIq1XdT/lwGH6Wqw9RsIEuMQTOTNoNYlnJ
I3wHDMOFgzLmQHM3eLb8eOlxFa5f1mfsA7cEtTGpP54fOKaFhF7RGWbQJbdz+A6l
mKyJi/Wv/+MjX+4MRm+TyID3fQwJAh7lJO98JUp13sZ8RX1EMCngTwsyYuD4EnvY
3jjhXroQ8DtPi2IWEtwNPbDO1sA7fnR0ouSmK2Y+X0JULpiIoU2db7dp2/tM/hmI
miPr/vwLPpCAErWM/DM6SQdCVjgR6INQitYR6hXFEEdZfAsDwv2p5mLQuXt5uJKE
WNjmxrPJ5EmHqX9HXoIjT/tYW5EmjelnrCo/DfQnd13JTGW6FHcvP9b+JwhfCZJh
AblhY0S7NYQoYk/T8G7zmP2eg9bXlu9HrJ+DeXKaSRqUwmI1z/FIEMiOKA4Ohi9x
cmK6OvuZBUCIAeXJIq+TCFShXLA3pqanP2aAsJc6Y/M10w/aggSmaolwcX1aVO6k
KasrSXRMYGg6pC5G+p6PWzv10RG0FtkmxXk2z2WHP5qsz4ZPTw6+c+tHC0dmEJGX
l77XnLaeCJWz+PbqGIMmKqp17R5ts6+ZdMH1vf+bihUhxT8ksn/csoXhH62XvcyI
93PNkJ6O5Z/cKpSxvFkXIpiPktO6/CJQaQE55EgRktNmNdFzjrqMYBT5+v/1gWpN
dLe2U95TYWI4wD/bnnFBiesSmvUXEwgR/L39wnVdAgQAVAu0cBS70oh3Z7GSS3ur
Bi0rSAhqbYcoxFbmpaHrYQQKngrCI778j/rLPPgxb4OT/ZXhLiAt+gADp4hEbotQ
bMX6RFoAyLk7y6H4IYw2hQ==
-----END ENCRYPTED PRIVATE KEY-----

Но когда я пытаюсь открыть его в Ubuntu View File, пароль неверный. Ключи без паролей работает.

Использование ssh-add работает хорошо.


Пробовал этот код на другом сервере с Debian jessie (PHP 7.0.14 и OpenSSL 1.0.1t) и все работает. Не знаю, это проблема версии или что-то еще.

Основная проблема заключается в том, что сгенерированные ключи не работают на другом сервере, не могут расшифровать данные, используя их.

...