diff options
author | David Benjamin <davidben@google.com> | 2023-04-29 02:56:36 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2023-04-29 02:56:36 +0000 |
commit | abac355c388817fbd4971523ae7443cd9afe0142 (patch) | |
tree | 0a33b2b9279b5c3fc12f867b4e9a43221a21c744 | |
parent | 661e526496ff0ec86e7130d7250c7a2f5942ce3c (diff) | |
parent | 90adc39f6b0fb4066511aaf61a0b5cb259e1a16e (diff) | |
download | keymaster-abac355c388817fbd4971523ae7443cd9afe0142.tar.gz |
Use setters instead of reaching into RSA struct am: 0d21791494 am: 3e98a88015 am: 90adc39f6b
Original change: https://android-review.googlesource.com/c/platform/system/keymaster/+/2569530
Change-Id: I9b9fe16ce7690d2babeb2e868be2a3490841cafa
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | legacy_support/keymaster1_engine.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/legacy_support/keymaster1_engine.cpp b/legacy_support/keymaster1_engine.cpp index 10bfc57..3614274 100644 --- a/legacy_support/keymaster1_engine.cpp +++ b/legacy_support/keymaster1_engine.cpp @@ -153,12 +153,15 @@ RSA* Keymaster1Engine::BuildRsaKey(const KeymasterKeyBlob& blob, return nullptr; } - rsa->n = BN_dup(public_rsa->n); - rsa->e = BN_dup(public_rsa->e); - if (!rsa->n || !rsa->e) { + BIGNUM_Ptr n(BN_dup(RSA_get0_n(public_rsa.get()))); + BIGNUM_Ptr e(BN_dup(RSA_get0_e(public_rsa.get()))); + if (!n || !e || !RSA_set0_key(rsa.get(), n.get(), e.get(), /*d=*/nullptr)) { *error = TranslateLastOpenSslError(); return nullptr; } + // RSA_set0_key takes ownership on success. + (void)n.release(); + (void)e.release(); *error = KM_ERROR_OK; return rsa.release(); |