2015-12-15 2 views
0

У меня есть байты с секретным ключом, хранящиеся в формате PEM, в переменной типа LPSTR. т.е.Сгенерировать EVP_PKEY из личных байтов в формате PEM

LPSTR pPrivateKeyInPem; 

Теперь нужно генерировать EVP_PKEY с помощью pPrivateKeyInPem, так что он может быть загружен в SSL_CTX объект, используя API SSL_CTX_use_PrivateKey() из OpenSSL.

Как это сделать?

+0

Добро пожаловать на переполнение стека! Я отредактировал ваш вопрос, чтобы правильно форматировать ваш код - см. Справку по редактированию для получения дополнительной информации о форматировании. Я также рекомендовал бы использовать меньшие предложения для удобства чтения. Пожалуйста, отредактируйте, чтобы добавить что-либо необходимое для определения конкретной проблемы. Удачи! – Wtower

+0

Спасибо @Wtower. Я буду помнить об этом :) – User1234

ответ

1

Я опущу преобразование LPSTR на символ *, который покрыт здесь: Convert lptstr to char*

Для OpenSSL части

BIO *mem; 
mem = BIO_new_mem_buf(pkey, -1); //pkey is of type char* 

key = PEM_read_bio_PrivateKey(mem, NULL, NULL, 0);