| | 922 | |
|---|
| | 923 | ops_boolean_t ops_write_symmetrically_encrypted_data(const unsigned char *data, |
|---|
| | 924 | const int len, |
|---|
| | 925 | ops_create_info_t *info) |
|---|
| | 926 | { |
|---|
| | 927 | ops_crypt_t crypt_info; |
|---|
| | 928 | int encrypted_sz=0;// size of encrypted data |
|---|
| | 929 | unsigned char *encrypted=(unsigned char *)NULL; // buffer to write encrypted data to |
|---|
| | 930 | |
|---|
| | 931 | // \todo assume AES256 for now |
|---|
| | 932 | ops_crypt_any(&crypt_info, OPS_SA_AES_256); |
|---|
| | 933 | ops_encrypt_init(&crypt_info); |
|---|
| | 934 | |
|---|
| | 935 | encrypted_sz=len+crypt_info.blocksize+2; |
|---|
| | 936 | encrypted=ops_mallocz(encrypted_sz); |
|---|
| | 937 | |
|---|
| | 938 | int done=ops_encrypt(&crypt_info, encrypted, data, len); |
|---|
| | 939 | printf("len=%d, done: %d\n", len, done); |
|---|
| | 940 | |
|---|
| | 941 | return ops_write_ptag(OPS_PTAG_CT_SE_DATA, info) |
|---|
| | 942 | && ops_write_length(1+encrypted_sz,info) |
|---|
| | 943 | && ops_write(data, len, info); |
|---|
| | 944 | } |
|---|