我正在尝试从CString读取RSA公钥。在通过文件进行操作之前,这很简单,我在使用:

RSA *PEM_read_RSA_PUBKEY(FILE *fp, RSA **x, pem_password_cb *cb, void *u);

但现在我不能使用这种方法。这就是为什么我考虑使用:
RSA *PEM_read_bio_RSA_PUBKEY(BIO *bp, RSA **x, pem_password_cb *cb, void *u);

但是我不了解BIO *bp参数以及如何将CString传递给它!

最佳答案

来自bio(3)文档



对于您的情况,我猜BIO_s_mem(3)是正确的类型







因此,对于C字符串,我会说这导致

char rsa_key[1024];
...
BIO *bp = BIO_new_mem_buf(rsa_key, -1);
RSA *rsa = PEM_read_bio_RSA_PUBKEY(bp, ...);

关于c++ - OpenSSL,从CString中读取公共(public)RSA key ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14501965/

10-14 08:12