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

Commit 992f82a2 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

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

Change-Id: I1e129e3846e3591b67d3e012d5bcf8e69211e4d7
parents 65b04253 10dd6c40
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);