Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int sec_init(int socket, int verbose, int reliable, int secure)
- {
- char data[15];
- char *response = calloc(MAX_DATA,sizeof(char));
- char *pKey = calloc(PUB_KEY_SIZE, sizeof(char));
- char encryptedSecKey[ENCRYPTED_KEY_SIZE];
- int pKeyLen = PUB_KEY_SIZE;
- int i;
- strcpy(data,"get public key");
- frag_init();
- if(!secure)
- return 1;
- srand( time(NULL) );
- for (i = 0; i < 20 ; i++)
- secret_key[i] = (char)rand() % 255 +1;
- if (!frag_send_data(socket, data, 15, verbose, reliable)) return 0;
- frag_receive_data(socket,&pKey, &pKeyLen,verbose, reliable);
- if (verbose) printf("Public Key:` %s\n", pKey);
- sec_pk_encrypt((char *)secret_key, encryptedSecKey, pKey);
- if (!frag_send_data(socket, encryptedSecKey, ENCRYPTED_KEY_SIZE, verbose, reliable)) return 0;
- frag_receive_data(socket,&response, &pKeyLen,verbose, reliable);
- if (!strcmp(response,"OK")) return 1;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement