Почему в Linux и Windows разные строки закрытого ключа?

Когда я создаю строки закрытого ключа со следующим кодом 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' из начало/конец (то же самое поведение наоборот).Почему это?

10
задан hakre 1 July 2012 в 17:41
поделиться