Merge "Add Rsa 2048 import key test for strongbox." am: aeb7117596 am: 10dd6c409f

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

Change-Id: I1e129e3846e3591b67d3e012d5bcf8e69211e4d7
This commit is contained in:
Treehugger Robot
2021-04-14 15:30:10 +00:00
committed by Automerger Merge Worker

View File

@@ -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);