Lines Matching refs:request
226 void AndroidKeymaster::SupportedBlockModes(const SupportedBlockModesRequest& request, in SupportedBlockModes() argument
228 GetSupported(*context_, request.algorithm, request.purpose, in SupportedBlockModes()
232 void AndroidKeymaster::SupportedPaddingModes(const SupportedPaddingModesRequest& request, in SupportedPaddingModes() argument
234 GetSupported(*context_, request.algorithm, request.purpose, in SupportedPaddingModes()
238 void AndroidKeymaster::SupportedDigests(const SupportedDigestsRequest& request, in SupportedDigests() argument
240 GetSupported(*context_, request.algorithm, request.purpose, &OperationFactory::SupportedDigests, in SupportedDigests()
244 void AndroidKeymaster::SupportedImportFormats(const SupportedImportFormatsRequest& request, in SupportedImportFormats() argument
246 if (response == nullptr || !check_supported(*context_, request.algorithm, response)) return; in SupportedImportFormats()
250 context_->GetKeyFactory(request.algorithm)->SupportedImportFormats(&count); in SupportedImportFormats()
254 void AndroidKeymaster::SupportedExportFormats(const SupportedExportFormatsRequest& request, in SupportedExportFormats() argument
256 if (response == nullptr || !check_supported(*context_, request.algorithm, response)) return; in SupportedExportFormats()
260 context_->GetKeyFactory(request.algorithm)->SupportedExportFormats(&count); in SupportedExportFormats()
277 AndroidKeymaster::ComputeSharedHmac(const ComputeSharedHmacRequest& request) { in ComputeSharedHmac() argument
284 response.error = policy->ComputeSharedHmac(request.params_array, &response.sharing_check); in ComputeSharedHmac()
290 AndroidKeymaster::VerifyAuthorization(const VerifyAuthorizationRequest& request) { in VerifyAuthorization() argument
298 return policy->VerifyAuthorization(request); in VerifyAuthorization()
301 void AndroidKeymaster::GenerateTimestampToken(GenerateTimestampTokenRequest& request, in GenerateTimestampToken() argument
307 response->token.challenge = request.challenge; in GenerateTimestampToken()
312 void AndroidKeymaster::AddRngEntropy(const AddEntropyRequest& request, in AddRngEntropy() argument
314 response->error = context_->AddRngEntropy(request.random_data.peek_read(), in AddRngEntropy()
315 request.random_data.available_read()); in AddRngEntropy()
330 void AndroidKeymaster::GenerateKey(const GenerateKeyRequest& request, in GenerateKey() argument
335 get_key_factory(request.key_description, *context_, &response->error); in GenerateKey()
339 if (request.attestation_signing_key_blob.key_material_size) { in GenerateKey()
340 attest_key = LoadKey(request.attestation_signing_key_blob, request.attest_key_params, in GenerateKey()
345 if (request.key_description.Contains(TAG_PURPOSE, KM_PURPOSE_ATTEST_KEY) && in GenerateKey()
346 request.key_description.GetTagCount(TAG_PURPOSE) > 1) { in GenerateKey()
354 response->error = factory->GenerateKey(request.key_description, in GenerateKey()
356 request.issuer_subject, in GenerateKey()
365 void AndroidKeymaster::GenerateRkpKey(const GenerateRkpKeyRequest& request, in GenerateRkpKey() argument
377 if (hwInfo.version >= kRkpVersionWithoutSuperencryption && request.test_mode) { in GenerateRkpKey()
415 if (request.test_mode) { in GenerateRkpKey()
421 auto macFunction = getMacFunction(request.test_mode, rem_prov_ctx); in GenerateRkpKey()
433 void AndroidKeymaster::GenerateCsr(const GenerateCsrRequest& request, in GenerateCsr() argument
451 auto macFunction = getMacFunction(request.test_mode, rem_prov_ctx); in GenerateCsr()
452 auto pubKeysToSign = validateAndExtractPubkeys(request.test_mode, request.num_keys, in GenerateCsr()
453 request.keys_to_sign_array, macFunction); in GenerateCsr()
485 request.test_mode, // in GenerateCsr()
488 .add(std::pair(request.challenge.begin(), in GenerateCsr()
489 request.challenge.end() - request.challenge.begin())) in GenerateCsr()
503 auto eek = validateAndExtractEekPubAndId(request.test_mode, request.endpoint_enc_cert_chain); in GenerateCsr()
540 void AndroidKeymaster::GenerateCsrV2(const GenerateCsrV2Request& request, in GenerateCsrV2() argument
545 if (request.challenge.size() > kMaxChallengeSizeV2) { in GenerateCsrV2()
548 request.challenge.size()); // in GenerateCsrV2()
561 auto pubKeys = validateAndExtractPubkeys(false /* test_mode */, request.num_keys, in GenerateCsrV2()
562 request.keys_to_sign_array, macFunction); in GenerateCsrV2()
570 std::vector(request.challenge.begin(), request.challenge.end()), std::move(*pubKeys)); in GenerateCsrV2()
582 void AndroidKeymaster::GetKeyCharacteristics(const GetKeyCharacteristicsRequest& request, in GetKeyCharacteristics() argument
588 context_->ParseKeyBlob(KeymasterKeyBlob(request.key_blob), request.additional_params, &key); in GetKeyCharacteristics()
598 void AndroidKeymaster::BeginOperation(const BeginOperationRequest& request, in BeginOperation() argument
603 UniquePtr<Key> key = LoadKey(request.key_blob, request.additional_params, &response->error); in BeginOperation()
611 OperationFactory* factory = key->key_factory()->GetOperationFactory(request.purpose); in BeginOperation()
617 factory->CreateOperation(std::move(*key), request.additional_params, &response->error)); in BeginOperation()
632 if (!context_->enforcement_policy()->CreateKeyId(request.key_blob, &key_id)) return; in BeginOperation()
635 request.purpose, key_id, operation->authorizations(), request.additional_params, in BeginOperation()
641 response->error = operation->Begin(request.additional_params, &response->output_params); in BeginOperation()
648 void AndroidKeymaster::UpdateOperation(const UpdateOperationRequest& request, in UpdateOperation() argument
653 Operation* operation = operation_table_->Find(request.op_handle); in UpdateOperation()
658 size_t input_num_bytes = request.input.available_read(); in UpdateOperation()
662 operation_table_->Delete(request.op_handle); in UpdateOperation()
667 operation_table_->Delete(request.op_handle); in UpdateOperation()
670 confirmation_verifier_buffer->write(request.input.peek_read(), input_num_bytes); in UpdateOperation()
676 request.additional_params, request.op_handle, false /* is_begin_operation */); in UpdateOperation()
678 operation_table_->Delete(request.op_handle); in UpdateOperation()
684 operation->Update(request.additional_params, request.input, &response->output_params, in UpdateOperation()
688 operation_table_->Delete(request.op_handle); in UpdateOperation()
692 void AndroidKeymaster::FinishOperation(const FinishOperationRequest& request, in FinishOperation() argument
697 Operation* operation = operation_table_->Find(request.op_handle); in FinishOperation()
702 size_t input_num_bytes = request.input.available_read(); in FinishOperation()
706 operation_table_->Delete(request.op_handle); in FinishOperation()
711 operation_table_->Delete(request.op_handle); in FinishOperation()
714 confirmation_verifier_buffer->write(request.input.peek_read(), input_num_bytes); in FinishOperation()
720 request.additional_params, request.op_handle, false /* is_begin_operation */); in FinishOperation()
722 operation_table_->Delete(request.op_handle); in FinishOperation()
727 response->error = operation->Finish(request.additional_params, request.input, request.signature, in FinishOperation()
730 operation_table_->Delete(request.op_handle); in FinishOperation()
748 if (!request.additional_params.GetTagValue(TAG_CONFIRMATION_TOKEN, in FinishOperation()
770 operation_table_->Delete(request.op_handle); in FinishOperation()
773 void AndroidKeymaster::AbortOperation(const AbortOperationRequest& request, in AbortOperation() argument
777 Operation* operation = operation_table_->Find(request.op_handle); in AbortOperation()
784 operation_table_->Delete(request.op_handle); in AbortOperation()
787 void AndroidKeymaster::ExportKey(const ExportKeyRequest& request, ExportKeyResponse* response) { in ExportKey() argument
792 context_->ParseKeyBlob(KeymasterKeyBlob(request.key_blob), request.additional_params, &key); in ExportKey()
797 response->error = key->formatted_key_material(request.key_format, &out_key, &size); in ExportKey()
804 void AndroidKeymaster::AttestKey(const AttestKeyRequest& request, AttestKeyResponse* response) { in AttestKey() argument
807 UniquePtr<Key> key = LoadKey(request.key_blob, request.attest_params, &response->error); in AttestKey()
811 if (request.attest_params.GetTagValue(TAG_ATTESTATION_APPLICATION_ID, in AttestKey()
817 context_->GenerateAttestation(*key, request.attest_params, {} /* attestation_signing_key */, in AttestKey()
821 void AndroidKeymaster::UpgradeKey(const UpgradeKeyRequest& request, UpgradeKeyResponse* response) { in UpgradeKey() argument
825 response->error = context_->UpgradeKeyBlob(KeymasterKeyBlob(request.key_blob), in UpgradeKey()
826 request.upgrade_params, &upgraded_key); in UpgradeKey()
831 void AndroidKeymaster::ImportKey(const ImportKeyRequest& request, ImportKeyResponse* response) { in ImportKey() argument
835 get_key_factory(request.key_description, *context_, &response->error); in ImportKey()
839 request.key_description.GetTagValue(TAG_EARLY_BOOT_ONLY) && in ImportKey()
846 if (request.attestation_signing_key_blob.key_material_size) { in ImportKey()
849 LoadKey(request.attestation_signing_key_blob, {} /* params */, &response->error); in ImportKey()
853 if (request.key_description.Contains(TAG_PURPOSE, KM_PURPOSE_ATTEST_KEY) && in ImportKey()
854 request.key_description.GetTagCount(TAG_PURPOSE) > 1) { in ImportKey()
860 response->error = factory->ImportKey(request.key_description, // in ImportKey()
861 request.key_format, // in ImportKey()
862 request.key_data, // in ImportKey()
864 request.issuer_subject, // in ImportKey()
871 void AndroidKeymaster::DeleteKey(const DeleteKeyRequest& request, DeleteKeyResponse* response) { in DeleteKey() argument
873 response->error = context_->DeleteKey(KeymasterKeyBlob(request.key_blob)); in DeleteKey()
881 void AndroidKeymaster::Configure(const ConfigureRequest& request, ConfigureResponse* response) { in Configure() argument
883 response->error = context_->SetSystemVersion(request.os_version, request.os_patchlevel); in Configure()
887 AndroidKeymaster::ConfigureVendorPatchlevel(const ConfigureVendorPatchlevelRequest& request) { in ConfigureVendorPatchlevel() argument
889 rsp.error = context_->SetVendorPatchlevel(request.vendor_patchlevel); in ConfigureVendorPatchlevel()
894 AndroidKeymaster::ConfigureBootPatchlevel(const ConfigureBootPatchlevelRequest& request) { in ConfigureBootPatchlevel() argument
896 rsp.error = context_->SetBootPatchlevel(request.boot_patchlevel); in ConfigureBootPatchlevel()
901 AndroidKeymaster::ConfigureVerifiedBootInfo(const ConfigureVerifiedBootInfoRequest& request) { in ConfigureVerifiedBootInfo() argument
903 rsp.error = context_->SetVerifiedBootInfo(request.boot_state, request.bootloader_state, in ConfigureVerifiedBootInfo()
904 request.vbmeta_digest); in ConfigureVerifiedBootInfo()
928 void AndroidKeymaster::ImportWrappedKey(const ImportWrappedKeyRequest& request, in ImportWrappedKey() argument
937 context_->UnwrapKey(request.wrapped_key, request.wrapping_key, request.additional_params, in ImportWrappedKey()
938 request.masking_key, &key_description, &key_format, &secret_key); in ImportWrappedKey()
952 key_description.push_back(TAG_USER_SECURE_ID, request.password_sid); in ImportWrappedKey()
955 key_description.push_back(TAG_USER_SECURE_ID, request.biometric_sid); in ImportWrappedKey()
990 DeviceLockedResponse AndroidKeymaster::DeviceLocked(const DeviceLockedRequest& request) { in DeviceLocked() argument
995 context_->enforcement_policy()->device_locked(request.passwordOnly); in DeviceLocked()
1002 GetRootOfTrustResponse AndroidKeymaster::GetRootOfTrust(const GetRootOfTrustRequest& request) { in GetRootOfTrust() argument
1040 request.challenge, in GetRootOfTrust()
1078 AndroidKeymaster::SetAttestationIds(const SetAttestationIdsRequest& request) { in SetAttestationIds() argument
1080 response.error = context_->SetAttestationIds(request); in SetAttestationIds()
1085 AndroidKeymaster::SetAttestationIdsKM3(const SetAttestationIdsKM3Request& request) { in SetAttestationIdsKM3() argument
1087 response.error = context_->SetAttestationIdsKM3(request); in SetAttestationIdsKM3()