i2d_SM2_Ciphertext
int i2d_SM2_Ciphertext(SM2_Ciphertext *a, unsigned char **out);
if ((clen = i2d_SM2_Ciphertext(&ctext_struct, &ciphertext_buf)) < 0) {