我正在尝试从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/