Я хочу повторно использовать SSL_SESSION, поэтому я использую i2d_SSL_SESSION() для сериализации и d2i_SSL_SESSION для unserialise. Но d2i_SSL_SESSION не удалось, тест код очень прост:Не удалось использовать d2i_SSL_SESSION для unserialise SSL_SESSION
после SSL рукопожатия закончил
SSL_SESSION *session = SSL_get1_session(ssl);
int len = i2d_SSL_SESSION(session, NULL);
unsigned char *pp = new unsigned char[len];
len = i2d_SSL_SESSION(session, &pp);
SSL_SESSION *s_new = d2i_SSL_SESSION(NULL, (const unsigned char **)&pp, len);
ERR_print_errors_fp(stderr);
cout << "s_new = " << s_new << endl;
i2d_SSL_SESSION в порядке, и Len = 2205
но d2i_SSL_SESSION не удалось, s_new является NULL , сообщение об ошибке: 3078067960: ошибка: 0D06703D: ASN1 процедуры кодирования: a2i_ASN1_STRING: ожидает ASN1 последовательности: ssl_asn1.c: 370: адреса = 3219682277 смещение = 0
ли я что-то пропустил?