내 응용 프로그램에 openssl을 추가하고 있지만 지금까지는 암호화되거나 인증서를 확인하지 않고 데이터를 보내고받을 수 있습니다.X509_NAME - 실제 버퍼를 얻는 방법?
이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);
그런 다음 나는 SSL 소켓에 write_buffer 쓰기하지만 내가 다른 쪽 끝에서받을 것은 단지 횡설수설입니다 :
나는으로 서버 인증서를 얻을.
어떻게하면 X509_NAME을 사용할 수 있습니까? strlen이 작동하지 않는 것 같습니까? 내가 생각하는 포인터 크기 인 길이 4가 버퍼 크기가 아닌 ... 그리고 X509_NAME은 어떤 인코딩입니까? 그것은 utf - 8처럼 보이지 않습니다 ...
그냥 내가 0xAA 또는 0XBB를 버퍼에 넣으면 다운 스트림 작품을 보내는 것이고, 다른 쪽 끝에서 정확하게 수신됩니다.