【发布时间】:2017-05-11 22:10:41
【问题描述】:
我有旧代码是为了链接旧版本的 openssl 而编写的。此代码的一部分从 PEM 文件加载密钥,并尝试使用以下代码了解此密钥是私钥还是公钥:
if( (prv->p==0 || prv->q==0) ) {
// This is not a private key!
throw error("No private key for decryption");
}
使用最新版本的 openssl,这(有理由)无法编译:
crypto.cpp: In function ‘key* decrypt_header(file_t, RSA*)’:
crypto.cpp:158:13: error: invalid use of incomplete type ‘RSA {aka struct rsa_st}’
if( (prv->p==0 || prv->q==0) ) {
^~
我知道直接访问结构的私有成员已被一个函数取代,但我很难弄清楚是哪个函数。
【问题讨论】: