Tool/software: Code Composer Studio
Hi,
Im trying to create a secure socket from CC3220SF platform, following is my testing code.
SlSockAddrIn_t Addr;
SlSockSecureMethod_t method;
SlSockSecureMask_t cipher;
_i32 sd,len,dummyVar;
_i16 status;
_i16 AddrSize;
_i8 buf[100];
do {
/*char cmd[64] = {0};*/
/*strncpy(cmd, (char*)arg, sizeof(cmd)-1);*/
/*char *ip = strtok(cmd, " ");*/
/*char *port = strtok(NULL, " ");*/
Addr.sin_family = SL_AF_INET;
Addr.sin_port = sl_Htons(8888);
Addr.sin_addr.s_addr = sl_Htonl(SL_IPV4_VAL(192,168,143,102));;
AddrSize = sizeof(SlSockAddrIn_t);
/* Open TLS socket */
sd = sl_Socket(SL_AF_INET,SL_SOCK_STREAM,0);
if(sd < 0) {
error("create socket failed\n");
break;
}
method.SecureMethod = SL_SO_SEC_METHOD_SSLv3_TLSV1_2;
status = sl_SetSockOpt(sd,SL_SOL_SOCKET,SL_SO_SECMETHOD,&method,sizeof(SlSockSecureMethod_t));
if(status < 0) {
error("fail to set secure method\n");
break;
}
/* set a CA filename to be used to verify the SMTP server
certificate when the handshake will take place */
// openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -outform der -out key.der
status = sl_SetSockOpt(sd,SL_SOL_SOCKET,SL_SO_SECURE_FILES_CA_FILE_NAME,
"user.der",strlen("user.der"));
if(status < 0) {
error("fail to verify ca file\n");
break;
}
status = sl_Connect(sd, ( SlSockAddr_t *)&Addr, AddrSize);
int count = 0, ret = 0;
struct timeval start, end, tmp;
gettimeofday(&start, NULL);
do {
ret = sl_Send(sd,"Hello server",strlen("HELLO server"),0);
if (ret > 0) {
count+=ret;
} else {
error("ret is %d\n", ret);
break;
}
gettimeofday(&end, NULL);
timersub(&end, &start, &tmp);
if (tmp.tv_sec > 60) {
break;
}
} while (true);
info("total: %d byte during %d sec\n", count, tmp.tv_sec);
} while (false);
sl_Close(sd);
Following are how I create the user.der.
openssl req -x509 -newkey rsa:2048 -keyout user.key -out user.crt -days 365 -nodes cat user.key user.crt > user.pem openssl x509 -in user.pem -outform der -out user.der
And this is my server sample code. HERE
When I run server and CC3220SF together, I always got "
4718220736:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:ssl/record/ssl3_record.c:332:".
Which part is wrong. Please correct me. Thanks.
