diff options
author | Seth Moore <sethmo@google.com> | 2022-01-25 22:44:24 +0000 |
---|---|---|
committer | Seth Moore <sethmo@google.com> | 2022-01-25 22:44:24 +0000 |
commit | be32113307d67f54e594e5322f85b65e4e2c4fdb (patch) | |
tree | a9b8786c217a28e6c47f127ae518109cc98c3a41 /identity/aidl/default/common/IdentityCredentialStore.cpp | |
parent | b5b69f0e009388fccb000a9a8aac5a38dbbd2726 (diff) |
Revert "Add remote key provisioning to the IC HAL"
Revert "Add dependency on keymint cpp lib"
Revert "Allow default identity service to call keymint"
Revert submission 1956689-add rkp to identity-default
Reason for revert: Broke git-master. Will resubmit later.
Reverted Changes:
I96dcf3027:Add remote key provisioning to the IC HAL
Id686ac33a:Add dependency on keymint cpp lib
Ib368a2a00:Log to logd in the default identity service
I7d2906de0:Refactor IC support for RKP
Iae0f14f1c:Fix formatting of identity credential aidl
I01d086a4b:Allow default identity service to call keymint
Change-Id: I76a898c04090c5befe5fb5a5d07ec2e397fdd8b3
Diffstat (limited to 'identity/aidl/default/common/IdentityCredentialStore.cpp')
-rw-r--r-- | identity/aidl/default/common/IdentityCredentialStore.cpp | 52 |
1 files changed, 11 insertions, 41 deletions
diff --git a/identity/aidl/default/common/IdentityCredentialStore.cpp b/identity/aidl/default/common/IdentityCredentialStore.cpp index bbc2cefb8f..4703ffe646 100644 --- a/identity/aidl/default/common/IdentityCredentialStore.cpp +++ b/identity/aidl/default/common/IdentityCredentialStore.cpp @@ -17,7 +17,6 @@ #define LOG_TAG "IdentityCredentialStore" #include <android-base/logging.h> -#include <android/binder_manager.h> #include "IdentityCredential.h" #include "IdentityCredentialStore.h" @@ -26,24 +25,15 @@ namespace aidl::android::hardware::identity { -using ::aidl::android::hardware::security::keymint::IRemotelyProvisionedComponent; - -IdentityCredentialStore::IdentityCredentialStore(sp<SecureHardwareProxyFactory> hwProxyFactory, - optional<string> remotelyProvisionedComponent) - : hwProxyFactory_(hwProxyFactory), - remotelyProvisionedComponentName_(remotelyProvisionedComponent) { - hardwareInformation_.credentialStoreName = "Identity Credential Reference Implementation"; - hardwareInformation_.credentialStoreAuthorName = "Google"; - hardwareInformation_.dataChunkSize = kGcmChunkSize; - hardwareInformation_.isDirectAccess = false; - hardwareInformation_.supportedDocTypes = {}; - hardwareInformation_.isRemoteKeyProvisioningSupported = - remotelyProvisionedComponentName_.has_value(); -} - ndk::ScopedAStatus IdentityCredentialStore::getHardwareInformation( HardwareInformation* hardwareInformation) { - *hardwareInformation = hardwareInformation_; + HardwareInformation hw; + hw.credentialStoreName = "Identity Credential Reference Implementation"; + hw.credentialStoreAuthorName = "Google"; + hw.dataChunkSize = kGcmChunkSize; + hw.isDirectAccess = false; + hw.supportedDocTypes = {}; + *hardwareInformation = hw; return ndk::ScopedAStatus::ok(); } @@ -52,8 +42,7 @@ ndk::ScopedAStatus IdentityCredentialStore::createCredential( shared_ptr<IWritableIdentityCredential>* outWritableCredential) { sp<SecureHardwareProvisioningProxy> hwProxy = hwProxyFactory_->createProvisioningProxy(); shared_ptr<WritableIdentityCredential> wc = - ndk::SharedRefBase::make<WritableIdentityCredential>(hwProxy, docType, testCredential, - hardwareInformation_); + ndk::SharedRefBase::make<WritableIdentityCredential>(hwProxy, docType, testCredential); if (!wc->initialize()) { return ndk::ScopedAStatus(AStatus_fromServiceSpecificErrorWithMessage( IIdentityCredentialStore::STATUS_FAILED, @@ -74,7 +63,7 @@ ndk::ScopedAStatus IdentityCredentialStore::getCredential( } shared_ptr<IdentityCredential> credential = ndk::SharedRefBase::make<IdentityCredential>( - hwProxyFactory_, credentialData, nullptr /* session */, hardwareInformation_); + hwProxyFactory_, credentialData, nullptr /* session */); auto ret = credential->initialize(); if (ret != IIdentityCredentialStore::STATUS_OK) { return ndk::ScopedAStatus(AStatus_fromServiceSpecificErrorWithMessage( @@ -94,8 +83,8 @@ ndk::ScopedAStatus IdentityCredentialStore::createPresentationSession( } sp<SecureHardwareSessionProxy> hwProxy = hwProxyFactory_->createSessionProxy(); - shared_ptr<PresentationSession> session = ndk::SharedRefBase::make<PresentationSession>( - hwProxyFactory_, hwProxy, hardwareInformation_); + shared_ptr<PresentationSession> session = + ndk::SharedRefBase::make<PresentationSession>(hwProxyFactory_, hwProxy); auto ret = session->initialize(); if (ret != IIdentityCredentialStore::STATUS_OK) { return ndk::ScopedAStatus(AStatus_fromServiceSpecificErrorWithMessage( @@ -105,23 +94,4 @@ ndk::ScopedAStatus IdentityCredentialStore::createPresentationSession( return ndk::ScopedAStatus::ok(); } -ndk::ScopedAStatus IdentityCredentialStore::getRemotelyProvisionedComponent( - shared_ptr<IRemotelyProvisionedComponent>* outRemotelyProvisionedComponent) { - if (!remotelyProvisionedComponentName_) { - return ndk::ScopedAStatus(AStatus_fromExceptionCodeWithMessage( - EX_UNSUPPORTED_OPERATION, "Remote key provisioning is not supported")); - } - - ndk::SpAIBinder binder( - AServiceManager_waitForService(remotelyProvisionedComponentName_->c_str())); - if (binder.get() == nullptr) { - return ndk::ScopedAStatus(AStatus_fromServiceSpecificErrorWithMessage( - IIdentityCredentialStore::STATUS_FAILED, - "Unable to get remotely provisioned component")); - } - - *outRemotelyProvisionedComponent = IRemotelyProvisionedComponent::fromBinder(binder); - return ndk::ScopedAStatus::ok(); -} - } // namespace aidl::android::hardware::identity |