跳转到内容

OpenSSL/d2i ECPKParameters

来自维基教科书,开放的书籍,开放的世界

ECPKParameters 编码和解码例程对 **EC_GROUP** 结构的公共参数进行编码和解析,该结构表示一条曲线。

d2i_ECPKParameters() 尝试解码 **in** 指向的 **len** 字节。如果成功,则返回指向 **EC_GROUP** 结构的指针。如果发生错误,则返回 **NULL**。如果 **px** 不为 **NULL**,则将返回的结构写入 **px**。如果 **px** 不为 **NULL**,则假设 **px** 包含有效的 **EC_GROUP** 结构,并尝试重用它。如果调用成功,**in** 将递增到解析数据的下一个字节。

i2d_ECPKParameters() 将 **x** 指向的结构编码为 DER 格式。如果 **out** 不为 **NULL**,则将 DER 编码的数据写入 **out** 指向的缓冲区,并将其递增到刚写入数据的后面。如果返回值为负数,则发生错误,否则返回编码数据的长度。

如果 **out** 为 **NULL**,则将为缓冲区分配内存,并将编码数据写入其中。在这种情况下,**out** 不会递增,它指向刚写入数据的开头。

d2i_ECPKParameters_bio() 与 d2i_ECPKParameters() 类似,只是它尝试从 BIO **bp** 解析数据。

d2i_ECPKParameters_fp() 与 d2i_ECPKParameters() 类似,只是它尝试从 FILE 指针 **fp** 解析数据。

i2d_ECPKParameters_bio() 与 i2d_ECPKParameters() 类似,只是它将结构 **x** 的编码写入 BIO **bp**,并返回 1 表示成功,0 表示失败。

i2d_ECPKParameters_fp() 与 i2d_ECPKParameters() 类似,只是它将结构 **x** 的编码写入 BIO **bp**,并返回 1 表示成功,0 表示失败。

这些函数与 OpenSSL d2i_X509 手册页上描述的 X509 函数非常相似,其中提供了进一步的说明和示例。

ECPKParameters_print 和 ECPKParameters_print_fp 函数将 EC_GROUP 公共参数的可读输出打印到 **bp** 或 **fp**。输出行缩进 **off** 个空格。

返回值

[编辑 | 编辑源代码]

d2i_ECPKParameters()、d2i_ECPKParameters_bio() 和 d2i_ECPKParameters_fp() 返回有效的 **EC_GROUP** 结构,如果发生错误则返回 **NULL**。

i2d_ECPKParameters() 返回成功编码的字节数,如果发生错误则返回负值。

i2d_ECPKParameters_bio()、i2d_ECPKParameters_fp()、ECPKParameters_print 和 ECPKParameters_print_fp 返回 1 表示成功,0 表示发生错误。

华夏公益教科书