5

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

int PEM_write_RSAPublicKey(FILE *fp, RSA *x);
int PEM_write_RSA_PUBKEY(FILE *fp, RSA *x);

在文档中我可以看到:

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

RSA_PUBKEY 函数还使用 RSA 结构处理 RSA 公钥。但是,公钥是使用 SubjectPublicKeyInfo 结构编码的,如果公钥不是 RSA,则会发生错误

但我不明白什么是

主题公钥信息

这两种方法之间的根本区别是什么!

4

1 回答 1

2

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

于 2013-09-21T08:13:26.860 回答