mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 11:36:00 +00:00
Use BoringSSL's public API in keymaster_hidl_hal_test am: 727f1ed7f3 am: ba14346ea7
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2588645 Change-Id: Idfea18ad582d7d4fbf5944a537f714ba6eb6083b Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -2617,10 +2617,11 @@ TEST_P(EncryptionOperationsTest, RsaNoPaddingTooLarge) {
|
||||
EVP_PKEY_Ptr pkey(d2i_PUBKEY(nullptr /* alloc new */, &p, exported.size()));
|
||||
RSA_Ptr rsa(EVP_PKEY_get1_RSA(pkey.get()));
|
||||
|
||||
size_t modulus_len = BN_num_bytes(rsa->n);
|
||||
const BIGNUM* n = RSA_get0_n(rsa.get());
|
||||
size_t modulus_len = BN_num_bytes(n);
|
||||
ASSERT_EQ(1024U / 8, modulus_len);
|
||||
std::unique_ptr<uint8_t[]> modulus_buf(new uint8_t[modulus_len]);
|
||||
BN_bn2bin(rsa->n, modulus_buf.get());
|
||||
BN_bn2bin(n, modulus_buf.get());
|
||||
|
||||
// The modulus is too big to encrypt.
|
||||
string message(reinterpret_cast<const char*>(modulus_buf.get()), modulus_len);
|
||||
@@ -2632,10 +2633,12 @@ TEST_P(EncryptionOperationsTest, RsaNoPaddingTooLarge) {
|
||||
EXPECT_EQ(ErrorCode::INVALID_ARGUMENT, Finish(message, &result));
|
||||
|
||||
// One smaller than the modulus is okay.
|
||||
BN_sub(rsa->n, rsa->n, BN_value_one());
|
||||
modulus_len = BN_num_bytes(rsa->n);
|
||||
BIGNUM_Ptr n_minus_1(BN_new());
|
||||
ASSERT_TRUE(n_minus_1);
|
||||
ASSERT_TRUE(BN_sub(n_minus_1.get(), n, BN_value_one()));
|
||||
modulus_len = BN_num_bytes(n_minus_1.get());
|
||||
ASSERT_EQ(1024U / 8, modulus_len);
|
||||
BN_bn2bin(rsa->n, modulus_buf.get());
|
||||
BN_bn2bin(n_minus_1.get(), modulus_buf.get());
|
||||
message = string(reinterpret_cast<const char*>(modulus_buf.get()), modulus_len);
|
||||
EXPECT_EQ(ErrorCode::OK, Begin(KeyPurpose::ENCRYPT, params));
|
||||
EXPECT_EQ(ErrorCode::OK, Finish(message, &result));
|
||||
|
||||
@@ -2449,10 +2449,11 @@ TEST_P(EncryptionOperationsTest, RsaNoPaddingTooLarge) {
|
||||
EVP_PKEY_Ptr pkey(d2i_PUBKEY(nullptr /* alloc new */, &p, exported.size()));
|
||||
RSA_Ptr rsa(EVP_PKEY_get1_RSA(pkey.get()));
|
||||
|
||||
size_t modulus_len = BN_num_bytes(rsa->n);
|
||||
const BIGNUM* n = RSA_get0_n(rsa.get());
|
||||
size_t modulus_len = BN_num_bytes(n);
|
||||
ASSERT_EQ(2048U / 8, modulus_len);
|
||||
std::unique_ptr<uint8_t[]> modulus_buf(new uint8_t[modulus_len]);
|
||||
BN_bn2bin(rsa->n, modulus_buf.get());
|
||||
BN_bn2bin(n, modulus_buf.get());
|
||||
|
||||
// The modulus is too big to encrypt.
|
||||
string message(reinterpret_cast<const char*>(modulus_buf.get()), modulus_len);
|
||||
@@ -2464,10 +2465,12 @@ TEST_P(EncryptionOperationsTest, RsaNoPaddingTooLarge) {
|
||||
EXPECT_EQ(ErrorCode::INVALID_ARGUMENT, Finish(message, &result));
|
||||
|
||||
// One smaller than the modulus is okay.
|
||||
BN_sub(rsa->n, rsa->n, BN_value_one());
|
||||
modulus_len = BN_num_bytes(rsa->n);
|
||||
BIGNUM_Ptr n_minus_1(BN_new());
|
||||
ASSERT_TRUE(n_minus_1);
|
||||
ASSERT_TRUE(BN_sub(n_minus_1.get(), n, BN_value_one()));
|
||||
modulus_len = BN_num_bytes(n_minus_1.get());
|
||||
ASSERT_EQ(2048U / 8, modulus_len);
|
||||
BN_bn2bin(rsa->n, modulus_buf.get());
|
||||
BN_bn2bin(n_minus_1.get(), modulus_buf.get());
|
||||
message = string(reinterpret_cast<const char*>(modulus_buf.get()), modulus_len);
|
||||
EXPECT_EQ(ErrorCode::OK, Begin(KeyPurpose::ENCRYPT, params));
|
||||
EXPECT_EQ(ErrorCode::OK, Finish(message, &result));
|
||||
|
||||
Reference in New Issue
Block a user