Когда я создаю строки закрытого ключа со следующим PHP-кодом (и тем же параметром config), они заключаются в разные строки:
$configs = array('config' => 'OpenSSL.cnf',
'digest_alg' => 'sha1',
'x509_extensions' => 'v3_ca',
'req_extensions' => 'v3_req',
'private_key_bits' => 2048,
'private_key_type' => OPENSSL_KEYTYPE_RSA,
'encrypt_key' => false,
'encrypt_key_cipher' => OPENSSL_CIPHER_3DES);
$privateKeyResourceId = openssl_pkey_new($this->configs);
openssl_pkey_export($privateKeyResourceId, $privateKeyString);
В Linux $ privateKeyString выглядит следующим образом:
----- НАЧАТЬ ЧАСТНЫЙ КЛЮЧ ----- NBgkqhkiG9w0BAQE .... ASDFasjkfa ----- КОНЕЦ ЧАСТНОГО КЛЮЧА -----
В Windows $ privateKeyString выглядит следующим образом:
----- BEGIN RSA ЧАСТНЫЙ КЛЮЧ ----- NBgkqhkiG9E .... ASDFasjkfa ----- END RSA ЧАСТНЫЙ КЛЮЧ -----
Когда я копирую строку закрытого ключа Windows в Linux, она работает до тех пор, пока я не удалю «RSA» из начала / конца (то же самое поведение наоборот). Почему это?