Odczytywanie klucza publicznego / prywatnego z pamięci za pomocą OpenSSL
W moim projekcie używam kluczy publicznych / prywatnych do szyfrowania / deszyfrowania niektórych danych.
Hostuję klucz publiczny („public.pem”) na serwerze.
„public.pem” wygląda tak:
-----BEGIN PUBLIC KEY-----
.....
.....
-----END PUBLIC KEY-----
Napisałem stronę klienta, która pobiera ten klucz publiczny i zapisuje go na dysku, a następnie wywołuje PEM_read_RSA_PUBKEY () OpenSSL z deskryptorem pliku do tego pliku. Ta operacja działa świetnie, a wynikiem jest obiekt RSA, który jest gotowy do szyfrowania.
Chciałbym uniknąć zapisywania klucza publicznego na dysk za każdym razem (ponieważ mam już bufor w pamięci).
Jak mogę wykonać tę samą operację bez zapisywania bufora na dysku? Zauważyłem funkcję o nazwie: PEM_read_bio_RSAPublicKey (), ale nie jestem pewien, czy jej struktura BIO jest używana. Czy jestem na właściwej drodze?
Prawdziwe pytanie brzmi: Jak odczytać klucz publiczny / prywatny do obiektu RSA prosto z pamięci, a nie z deskryptora pliku.