Когда я создаю строки частного ключа со следующим кодом PHP (и тем же конфигурационным параметром), они заключаются между разными строками:
$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 ----- END ЧАСТНЫЙ КЛЮЧ -----
В Windows $privateKeyString выглядит так:
----- НАЧАТЬ ЧАСТНЫЙ КЛЮЧ RSA ----- NBgkqhkiG9E.... ASDFasjkfa ----- END RSA ЧАСТНЫЙ КЛЮЧ -----
Когда я копирую строку частного ключа Windows в Linux, она работает до тех пор, пока я не удалю "RSA" с начала/конца (это же поведение наоборот). Почему это?