C++ openSSL:PEM_write_RSA公钥和PEM_write_RSA_公钥之间的区别

C++ openSSL:PEM_write_RSA公钥和PEM_write_RSA_公钥之间的区别,c++,openssl,public-key,C++,Openssl,Public Key,在openssl库中,我可以看到两种将公钥写入文件的方法: int PEM_write_RSAPublicKey(FILE *fp, RSA *x); int PEM_write_RSA_PUBKEY(FILE *fp, RSA *x); 在文档中,我可以看到: RSAPublicKey函数使用RSA处理RSA公钥 结构。公钥使用PKCS#1 rsa公钥进行编码 结构 RSA_PUBKEY函数还使用RSA处理RSA公钥 结构。但是,公钥是使用 SubjectPublicKeyInfo结构,如果

在openssl库中,我可以看到两种将公钥写入文件的方法:

int PEM_write_RSAPublicKey(FILE *fp, RSA *x);
int PEM_write_RSA_PUBKEY(FILE *fp, RSA *x);
在文档中,我可以看到:

RSAPublicKey函数使用RSA处理RSA公钥 结构。公钥使用PKCS#1 rsa公钥进行编码 结构

RSA_PUBKEY函数还使用RSA处理RSA公钥 结构。但是,公钥是使用 SubjectPublicKeyInfo结构,如果公钥 这不是RSA

但我不明白这是什么

SubjectPublicKeyInfo


这两种方法的基本区别是什么

SubjectPublicKeyInfo-rfc 3280(Internet X.509公钥基础设施)中描述的公钥的ASN1结构。这种格式实际上包含公钥算法的id和公钥本身。在这种情况下,公钥是根据pkcs1标准格式化的。因此,X.509格式是更高级的格式,它不仅描述RSA公钥,而且描述一般的公钥