У меня есть некоторые проблемы при попытке загрузить мой открытый ключ из mem. , прежде чем я использовал PEM_read_RSA_PUBKEY для загрузки ключа с диска. но так как это заставит Cracker получить мой открытый ключ слишком легко. Я хочу загрузить его из CString Вместо файла. и я пытался сделать это следующим образом:Открытый открытый ключ OPENSSL RSA из mem
CString csPubKey =
L"-----BEGIN PUBLIC KEY-----"
L"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC/g+aYSWhuJc4J30n5U5iC9cwr"
L"N7Su2NeO/EwubqjypfWY8W9B+lfNk9q2CoTyb5LtZI19rLCY8yrX1vIKLMRzHNri"
L"LSXNAk+tWsnf7qupJep6mn5EeAPV7AG1p1i7txvoWBf289YI8wlGsr0DMUIfQxAW"
L"hSwlRYqJ64wRx7sXMQIDAQAB"
L"-----END PUBLIC KEY-----";
BIO *bio = BIO_new_mem_buf(CW2A(csPubKey.GetBuffer()),csPubKey.GetLength());
if(PEM_read_bio_RSA_PUBKEY(bio,&pRSAPublicKey, 0, 0) == NULL)
{
CStringA err = ERR_error_string(ERR_get_error(), NULL);
//assert(false);
return "";
}
и я получаю ошибку ошибку: 0906D06C: Lib (9): FUNC (109): причина (108), когда PEM_read_bio_RSA_PUBKEY. на Google это говорит, что это не начало линии. кто-нибудь знает, что я сделал не так?
Я думаю, что я уже конвертировал его в CW2A (csPubKey.GetBuffer()? – Elyse
Я думаю, что узкая строка такая же, как Ansi, поэтому CW2A работает для этого? – Elyse