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.