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