3

我没有任何问题,但我想对 openssl 方法进行一些说明:

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

该方法返回一个 RSA 指针,但我们还必须在 entry 中提供一个 RSA 双指针。两者都做有什么意义?

例如,当我使用该方法时,以下 3 行将导致我得到相同的结果:

key = PEM_read_RSA_PUBKEY(file, &key, NULL, NULL);
key = PEM_read_RSA_PUBKEY(file, NULL, NULL, NULL);
PEM_read_RSA_PUBKEY(file, &key, NULL, NULL);

在所有方面,我的对象key都很好。那么我应该在上述 3 之间使用什么解决方案?

4

1 回答 1

2

使用任何适合您的编码风格(以及程序其余部分的编码风格)的解决方案。

一些程序员更愿意从返回值中获取结果。其他人更愿意通过将结果存储作为输入来获得结果。许多 OpenSSL 方法(但不是全部!)的结构都是为了提供这种灵活性。

于 2012-12-21T21:12:42.190 回答