Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 57e8872e authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Add Rsa 2048 import key test for strongbox." am: aeb71175 am: 10dd6c40 am: 992f82a2

Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1673856

Change-Id: Ief66410985a0bcc646e13cf62e6eb50f469c34e0
parents 8bcb16e8 992f82a2
Loading
Loading
Loading
Loading
+62 −3
Original line number Diff line number Diff line
@@ -137,6 +137,54 @@ string rsa_key =
                "d5f33645e8ed8b4a1cb3cc4a1d67987399f2a09f5b3fb68c88d5e5d90ac3"
                "3492d6");

/*
 * DER-encoded PKCS#8 format RSA key. Generated using:
 *
 * openssl genrsa 2048 | openssl pkcs8 -topk8 -nocrypt -outform der | hexdump -e '30/1  "%02X" "\n"'
 */
string rsa_2048_key =
        hex2str("308204BD020100300D06092A864886F70D0101010500048204A7308204A3"
                "0201000282010100BEBC342B56D443B1299F9A6A7056E80A897E318476A5"
                "A18029E63B2ED739A61791D339F58DC763D9D14911F2EDEC383DEE11F631"
                "9B44510E7A3ECD9B79B97382E49500ACF8117DC89CAF0E621F77756554A2"
                "FD4664BFE7AB8B59AB48340DBFA27B93B5A81F6ECDEB02D0759307128DF3"
                "E3BAD4055C8B840216DFAA5700670E6C5126F0962FCB70FF308F25049164"
                "CCF76CC2DA66A7DD9A81A714C2809D69186133D29D84568E892B6FFBF319"
                "9BDB14383EE224407F190358F111A949552ABA6714227D1BD7F6B20DD0CB"
                "88F9467B719339F33BFF35B3870B3F62204E4286B0948EA348B524544B5F"
                "9838F29EE643B079EEF8A713B220D7806924CDF7295070C5020301000102"
                "82010069F377F35F2F584EF075353CCD1CA99738DB3DBC7C7FF35F9366CE"
                "176DFD1B135AB10030344ABF5FBECF1D4659FDEF1C0FC430834BE1BE3911"
                "951377BB3D563A2EA9CA8F4AD9C48A8CE6FD516A735C662686C7B4B3C09A"
                "7B8354133E6F93F790D59EAEB92E84C9A4339302CCE28FDF04CCCAFA7DE3"
                "F3A827D4F6F7D38E68B0EC6AB706645BF074A4E4090D06FB163124365FD5"
                "EE7A20D350E9958CC30D91326E1B292E9EF5DB408EC42DAF737D20149704"
                "D0A678A0FB5B5446863B099228A352D604BA8091A164D01D5AB05397C71E"
                "AD20BE2A08FC528FE442817809C787FEE4AB97F97B9130D022153EDC6EB6"
                "CBE7B0F8E3473F2E901209B5DB10F93604DB0102818100E83C0998214941"
                "EA4F9293F1B77E2E99E6CF305FAF358238E126124FEAF2EB9724B2EA7B78"
                "E6032343821A80E55D1D88FB12D220C3F41A56142FEC85796D1917F1E8C7"
                "74F142B67D3D6E7B7E6B4383E94DB5929089DBB346D5BDAB40CC2D96EE04"
                "09475E175C63BF78CFD744136740838127EA723FF3FE7FA368C1311B4A4E"
                "0502818100D240FCC0F5D7715CDE21CB2DC86EA146132EA3B06F61FF2AF5"
                "4BF38473F59DADCCE32B5F4CC32DD0BA6F509347B4B5B1B58C39F95E4798"
                "CCBB43E83D0119ACF532F359CA743C85199F0286610E200997D731291717"
                "9AC9B67558773212EC961E8BCE7A3CC809BC5486A96E4B0E6AF394D94E06"
                "6A0900B7B70E82A44FB30053C102818100AD15DA1CBD6A492B66851BA8C3"
                "16D38AB700E2CFDDD926A658003513C54BAA152B30021D667D20078F500F"
                "8AD3E7F3945D74A891ED1A28EAD0FEEAEC8C14A8E834CF46A13D1378C99D"
                "18940823CFDD27EC5810D59339E0C34198AC638E09C87CBB1B634A9864AE"
                "9F4D5EB2D53514F67B4CAEC048C8AB849A02E397618F3271350281801FA2"
                "C1A5331880A92D8F3E281C617108BF38244F16E352E69ED417C7153F9EC3"
                "18F211839C643DCF8B4DD67CE2AC312E95178D5D952F06B1BF779F491692"
                "4B70F582A23F11304E02A5E7565AE22A35E74FECC8B6FDC93F92A1A37703"
                "E4CF0E63783BD02EB716A7ECBBFA606B10B74D01579522E7EF84D91FC522"
                "292108D902C1028180796FE3825F9DCC85DF22D58690065D93898ACD65C0"
                "87BEA8DA3A63BF4549B795E2CD0E3BE08CDEBD9FCF1720D9CDC5070D74F4"
                "0DED8E1102C52152A31B6165F83A6722AECFCC35A493D7634664B888A08D"
                "3EB034F12EA28BFEE346E205D334827F778B16ED40872BD29FCB36536B6E"
                "93FFB06778696B4A9D81BB0A9423E63DE5");

string ec_256_key =
        hex2str("308187020100301306072a8648ce3d020106082a8648ce3d030107046d30"
                "6b0201010420737c2ecd7b8d1940bf2930aa9b4ed3ff941eed09366bc032"
@@ -1811,16 +1859,27 @@ class ImportKeyTest : public KeyMintAidlTestBase {
 * Verifies that importing and using an RSA key pair works correctly.
 */
TEST_P(ImportKeyTest, RsaSuccess) {
    uint32_t key_size;
    string key;

    if (SecLevel() == SecurityLevel::STRONGBOX) {
        key_size = 2048;
        key = rsa_2048_key;
    } else {
        key_size = 1024;
        key = rsa_key;
    }

    ASSERT_EQ(ErrorCode::OK, ImportKey(AuthorizationSetBuilder()
                                               .Authorization(TAG_NO_AUTH_REQUIRED)
                                               .RsaSigningKey(1024, 65537)
                                               .RsaSigningKey(key_size, 65537)
                                               .Digest(Digest::SHA_2_256)
                                               .Padding(PaddingMode::RSA_PSS)
                                               .SetDefaultValidity(),
                                       KeyFormat::PKCS8, rsa_key));
                                       KeyFormat::PKCS8, key));

    CheckCryptoParam(TAG_ALGORITHM, Algorithm::RSA);
    CheckCryptoParam(TAG_KEY_SIZE, 1024U);
    CheckCryptoParam(TAG_KEY_SIZE, key_size);
    CheckCryptoParam(TAG_RSA_PUBLIC_EXPONENT, 65537U);
    CheckCryptoParam(TAG_DIGEST, Digest::SHA_2_256);
    CheckCryptoParam(TAG_PADDING, PaddingMode::RSA_PSS);