| Function report | 
| Source Code: security\keys\encrypted-keys\encrypted.c | Create Date:2022-07-28 18:32:55 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:datablob_parse - parse the keyctl data* datablob format:* new [<format>] <master-key name> <decrypted data length>* load [<format>] <master-key name> <decrypted data length>* <encrypted iv + data>* update <new-master-key name>* Tokenizes a copy of the
Proto:static int datablob_parse(char *datablob, const char **format, char **master_desc, char **decrypted_datalen, char **hex_encoded_iv)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| char * | datablob | |
| const char ** | format | |
| char ** | master_desc | |
| char ** | decrypted_datalen | |
| char ** | hex_encoded_iv | 
| 182 | If Not keyword Then | 
| 186 | key_cmd = match_token(keyword, key_tokens, args) | 
| 190 | If Not p Then | 
| 195 | key_format = match_token(p, key_format_tokens, args) | 
| 197 | Case key_format == Opt_ecryptfs | 
| 198 | Case key_format == Opt_enc32 | 
| 199 | Case key_format == Opt_default | 
| 202 | Break | 
| 203 | Case key_format == Opt_error | 
| 204 | master_desc = p | 
| 205 | Break | 
| 208 | If Not master_desc Then | 
| 214 | pr_info("encrypted_key: master key parameter \'%s\' is invalid\n", * master_desc) | 
| 216 | Go to out | 
| 219 | If decrypted_datalen Then | 
| 221 | If Not decrypted_datalen Then | 
| 222 | pr_info("encrypted_key: keylen parameter is missing\n") | 
| 223 | Go to out | 
| 237 | If Not decrypted_datalen Then | 
| 240 | Break | 
| 243 | If Not hex_encoded_iv Then | 
| 244 | pr_info("encrypted_key: hex blob is missing\n") | 
| 245 | Break | 
| 247 | ret = 0 | 
| 248 | Break | 
| 249 | Case key_cmd == Opt_update | 
| 250 | If decrypted_datalen Then | 
| 251 | pr_info("encrypted_key: keyword \'%s\' not allowed when called from .instantiate method\n", keyword) | 
| 254 | Break | 
| 256 | ret = 0 | 
| 257 | Break | 
| 263 | out : | 
| 264 | Return ret | 
| Name | Describe | 
|---|---|
| encrypted_instantiate | rypted_instantiate - instantiate an encrypted key* Decrypt an existing encrypted datablob or create a new encrypted key* based on a kernel random number.* On success, return 0. Otherwise return errno. | 
| encrypted_update | rypted_update - update the master key description* Change the master key description for an existing encrypted key.* The next read will return an encrypted datablob using the new* master key description.* On success, return 0. Otherwise return errno. | 
| Source code conversion tool public plug-in interface | X | 
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |