diff options
Diffstat (limited to 'keystore/IKeystoreService.cpp')
-rw-r--r-- | keystore/IKeystoreService.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/keystore/IKeystoreService.cpp b/keystore/IKeystoreService.cpp index fc0b8da..9d19b46 100644 --- a/keystore/IKeystoreService.cpp +++ b/keystore/IKeystoreService.cpp @@ -1129,7 +1129,9 @@ public: } virtual void finish(const sp<IBinder>& token, const KeymasterArguments& params, - const uint8_t* signature, size_t signatureLength, OperationResult* result) + const uint8_t* signature, size_t signatureLength, + const uint8_t* entropy, size_t entropyLength, + OperationResult* result) { if (!result) { return; @@ -1140,6 +1142,7 @@ public: data.writeInt32(1); params.writeToParcel(&data); data.writeByteArray(signatureLength, signature); + data.writeByteArray(entropyLength, entropy); status_t status = remote()->transact(BnKeystoreService::FINISH, data, &reply); if (status != NO_ERROR) { ALOGD("finish() could not contact remote: %d\n", status); @@ -1681,11 +1684,14 @@ status_t BnKeystoreService::onTransact( if (data.readInt32() != 0) { args.readFromParcel(data); } - const uint8_t* buf = NULL; - size_t bufLength = 0; - readByteArray(data, &buf, &bufLength); + const uint8_t* signature = NULL; + size_t signatureLength = 0; + readByteArray(data, &signature, &signatureLength); + const uint8_t* entropy = NULL; + size_t entropyLength = 0; + readByteArray(data, &entropy, &entropyLength); OperationResult result; - finish(token, args, buf, bufLength, &result); + finish(token, args, signature, signatureLength, entropy, entropyLength, &result); reply->writeNoException(); reply->writeInt32(1); result.writeToParcel(reply); |