【发布时间】:2015-03-29 17:02:11
【问题描述】:
我正在将 openssl 添加到我的应用程序中,我可以发送和接收数据,但是到目前为止它没有加密或检查证书。
我通过以下方式获得服务器证书:
X509 *gCert = NULL;
X509_NAME *gCertName = NULL;
gCert = SSL_get_peer_certificate(sslConnection.ssl);
gCertName = X509_NAME_new();
gCertName = X509_get_subject_name(gCert);
certNameLen = strlen(gCertName);
memcpy(write_buffer, gCertName, certNameLen);
然后我将 write_buffer 写入 SSL 套接字,但我在另一端收到的只是乱码。
如何使用 X509_NAME? strlen 似乎不起作用?我得到长度 4,这是我认为的指针大小,而不是缓冲区大小...... X509_NAME 是什么编码?好像不是utf-8...
我知道发送下游工作,如果我只是将 0xAA 或 0XBB 放在缓冲区中,它会在另一端正确接收。
【问题讨论】: