Ошибка при получении сгенерированных C # открытых ключей в переполнении стека

Я создал открытый ключ, используя следующий код в C #:

using (var rsa = new RSACryptoServiceProvider(2048))
{
rsa.PersistKeyInCsp = false;
m_publicKey = rsa.ExportParameters(false);
}

И экспортировал открытый ключ в файл, используя код из Вот.

Выходной файл выглядит так:

-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA498EWxuZK/KsUgIEusEt
QOJulgTHwb8C4avtzJnzhosTeKooXvyGFPpex6HcQGSRqrWpNr2yhw1BvJvH2UyE
Jisl5BJA5Za+ofmbGifCFwCllZ37U1YpOmqpB2Yt+yYElGh5dp+lqs5Q3u3nPknd
nLS3bxH7qlZBvR9YPWj9x7IuSXJyopAmdJato8xeNHzmBxWD8FgQKICFpLtGsPXq
XRwT0imTs6/EcMqq6fdlp0OyBKyZjw6t47gMeqiuSYz6k41Nf/SbtIC4snUyoUgI
TvnHjWe1cY7js4kY62A9ZpHX0NpG7JXctxVb+aZOv1rS36bUjcP+bug1W3ZKrTG6
hwIDAQAB
-----END PUBLIC KEY-----

На стороне сервера мне нужно прочитать файл ключа и использовать его для шифрования / дешифрования с использованием PHP. Мой код PHP выглядит следующим образом:

$pub_key = file_get_contents("../user_pub_key.crt");
$public_key = openssl_pkey_get_public($pub_key);
var_dump($public_key);
echo openssl_error_string();

Хотя $ public_key явно создан, и var_dump возвращает его номер ресурса:

resource(5) of type (OpenSSL key)

но как ни странно, openssl_error_string () также показывает следующую ошибку:

error:0906D06C:PEM routines:PEM_read_bio:no start line

Я часами искал решение этой проблемы. Я попробовал предложения по поводу символов конца строки, кодировки и т. Д. И т. Д. В Вот, Вот, Вот, Вот, и много других ссылок.

Единственные предложения, которые могут иметь отношение к этой проблеме: Вот а также Вот, но, похоже, это решение для систем Windows, а не Mac OS, поэтому я не смог их опробовать. Ваша помощь в этом очень ценится.

постскриптум все разработки и сервер находятся на Mac (не Windows).

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]