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 表示發生錯誤。