Home | History | Annotate | Download | only in android_keymaster

Lines Matching refs:response

79                      SupportedResponse<T>* response) {
81 response->error = KM_ERROR_UNSUPPORTED_ALGORITHM;
98 SupportedAlgorithmsResponse* response) {
99 if (response == NULL)
102 response->error = KM_ERROR_OK;
108 response->results_length = algorithm_count;
109 response->results = dup_array(algorithms, algorithm_count);
110 if (!response->results)
111 response->error = KM_ERROR_MEMORY_ALLOCATION_FAILED;
118 SupportedResponse<T>* response) {
119 if (response == NULL || !check_supported(context, algorithm, response))
124 response->error = KM_ERROR_UNSUPPORTED_PURPOSE;
130 response->SetResults(supported, count);
134 SupportedBlockModesResponse* response) {
136 &OperationFactory::SupportedBlockModes, response);
140 SupportedPaddingModesResponse* response) {
142 &OperationFactory::SupportedPaddingModes, response);
146 SupportedDigestsResponse* response) {
148 response);
152 SupportedImportFormatsResponse* response) {
153 if (response == NULL || !check_supported(*context_, request.algorithm, response))
159 response->SetResults(formats, count);
163 SupportedExportFormatsResponse* response) {
164 if (response == NULL || !check_supported(*context_, request.algorithm, response))
170 response->SetResults(formats, count);
174 GetHmacSharingParametersResponse response;
177 response.error = KM_ERROR_UNIMPLEMENTED;
178 return response;
181 response.error = policy->GetHmacSharingParameters(&response.params);
182 return response;
187 ComputeSharedHmacResponse response;
190 response.error = KM_ERROR_UNIMPLEMENTED;
191 return response;
194 response.error = policy->ComputeSharedHmac(request.params_array, &response.sharing_check);
195 return response;
202 VerifyAuthorizationResponse response;
203 response.error = KM_ERROR_UNIMPLEMENTED;
204 return response;
211 AddEntropyResponse* response) {
212 response->error = context_->AddRngEntropy(request.random_data.peek_read(),
217 GenerateKeyResponse* response) {
218 if (response == NULL)
226 response->error = KM_ERROR_UNSUPPORTED_ALGORITHM;
229 response->enforced.Clear();
230 response->unenforced.Clear();
231 response->error = factory->GenerateKey(request.key_description, &key_blob,
232 &response->enforced, &response->unenforced);
233 if (response->error == KM_ERROR_OK)
234 response->key_blob = key_blob.release();
239 GetKeyCharacteristicsResponse* response) {
240 if (response == NULL)
244 response->error =
247 if (response->error != KM_ERROR_OK)
251 response->enforced = move(key->hw_enforced());
252 response->unenforced = move(key->sw_enforced());
254 response->error = CheckVersionInfo(response->enforced, response->unenforced, *context_);
258 BeginOperationResponse* response) {
259 if (response == NULL)
261 response->op_handle = 0;
265 response->error = LoadKey(request.key_blob, request.additional_params, &key_factory, &key);
266 if (response->error != KM_ERROR_OK)
269 response->error = KM_ERROR_UNKNOWN_ERROR;
274 response->error = KM_ERROR_UNSUPPORTED_PURPOSE;
279 factory->CreateOperation(move(*key), request.additional_params, &response->error));
284 response->error = KM_ERROR_UNKNOWN_ERROR;
287 response->error = context_->enforcement_policy()->AuthorizeOperation(
290 if (response->error != KM_ERROR_OK) return;
293 response->output_params.Clear();
294 response->error = operation->Begin(request.additional_params, &response->output_params);
295 if (response->error != KM_ERROR_OK)
298 response->op_handle = operation->operation_handle();
299 response->error = operation_table_->Add(move(operation));
303 UpdateOperationResponse* response) {
304 if (response == NULL)
307 response->error = KM_ERROR_INVALID_OPERATION_HANDLE;
313 response->error = context_->enforcement_policy()->AuthorizeOperation(
316 if (response->error != KM_ERROR_OK) {
322 response->error =
323 operation->Update(request.additional_params, request.input, &response->output_params,
324 &response->output, &response->input_consumed);
325 if (response->error != KM_ERROR_OK) {
332 FinishOperationResponse* response) {
333 if (response == NULL)
336 response->error = KM_ERROR_INVALID_OPERATION_HANDLE;
342 response->error = context_->enforcement_policy()->AuthorizeOperation(
345 if (response->error != KM_ERROR_OK) {
351 response->error = operation->Finish(request.additional_params, request.input, request.signature,
352 &response->output_params, &response->output);
357 AbortOperationResponse* response) {
358 if (!response)
363 response->error = KM_ERROR_INVALID_OPERATION_HANDLE;
367 response->error = operation->Abort();
371 void AndroidKeymaster::ExportKey(const ExportKeyRequest& request, ExportKeyResponse* response) {
372 if (response == NULL)
376 response->error =
378 if (response->error != KM_ERROR_OK)
383 response->error = key->formatted_key_material(request.key_format, &out_key, &size);
384 if (response->error == KM_ERROR_OK) {
385 response->key_data = out_key.release();
386 response->key_data_length = size;
390 void AndroidKeymaster::AttestKey(const AttestKeyRequest& request, AttestKeyResponse* response) {
391 if (!response)
396 response->error = LoadKey(request.key_blob, request.attest_params,
398 if (response->error != KM_ERROR_OK)
408 response->error = context_->GenerateAttestation(*key, request.attest_params, &certchain);
409 if (response->error == KM_ERROR_OK) {
410 response->certificate_chain = *certchain;
411 // response->certificate_chain took possession of secondary resources. So we shallowly
418 void AndroidKeymaster::UpgradeKey(const UpgradeKeyRequest& request, UpgradeKeyResponse* response) {
419 if (!response)
423 response->error = context_->UpgradeKeyBlob(KeymasterKeyBlob(request.key_blob),
425 if (response->error != KM_ERROR_OK)
427 response->upgraded_key = upgraded_key.release();
430 void AndroidKeymaster::ImportKey(const ImportKeyRequest& request, ImportKeyResponse* response) {
431 response == NULL)
439 response->error = KM_ERROR_UNSUPPORTED_ALGORITHM;
443 response->error = factory->ImportKey(request.key_description, request.key_format,
445 &response->enforced, &response->unenforced);
446 if (response->error == KM_ERROR_OK)
447 response->key_blob = key_blob.release();
451 void AndroidKeymaster::DeleteKey(const DeleteKeyRequest& request, DeleteKeyResponse* response) {
452 if (!response)
454 response->error = context_->DeleteKey(KeymasterKeyBlob(request.key_blob));
457 void AndroidKeymaster::DeleteAllKeys(const DeleteAllKeysRequest&, DeleteAllKeysResponse* response) {
458 if (!response)
460 response->error = context_->DeleteAllKeys();
463 void AndroidKeymaster::Configure(const ConfigureRequest& request, ConfigureResponse* response) {
464 if (!response)
466 response->error = context_->SetSystemVersion(request.os_version, request.os_patchlevel);
486 ImportWrappedKeyResponse* response) {
487 if (!response) return;
493 response->error =
497 if (response->error != KM_ERROR_OK) {
505 response->error = KM_ERROR_UNKNOWN_ERROR;
520 response->error = KM_ERROR_UNSUPPORTED_ALGORITHM;
523 response->error =
525 &response->enforced, &response->unenforced);
526 if (response->error == KM_ERROR_OK) {
527 response->key_blob = key_blob;