summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTreehugger Robot2018-03-30 18:23:04 -0500
committerGerrit Code Review2018-03-30 18:23:04 -0500
commit2dc004c7032e002ffeddc7c1da03282d02a29c17 (patch)
tree4606a5e6197982c1798657ca333ad7f65dda3624
parent61cbaa8dd70658e82afa2402d9e2e8b015c27ef6 (diff)
parentc4352bdb21f028d37e172fe1107cf7e1c43bb2a8 (diff)
downloadplatform-hardware-interfaces-2dc004c7032e002ffeddc7c1da03282d02a29c17.tar.gz
platform-hardware-interfaces-2dc004c7032e002ffeddc7c1da03282d02a29c17.tar.xz
platform-hardware-interfaces-2dc004c7032e002ffeddc7c1da03282d02a29c17.zip
Merge "secure_element: VTS: Remove MANAGE_CHANNEL commands in transmit"
-rw-r--r--secure_element/1.0/vts/functional/VtsHalSecureElementV1_0TargetTest.cpp48
1 files changed, 13 insertions, 35 deletions
diff --git a/secure_element/1.0/vts/functional/VtsHalSecureElementV1_0TargetTest.cpp b/secure_element/1.0/vts/functional/VtsHalSecureElementV1_0TargetTest.cpp
index 59c354f1..dab81e2a 100644
--- a/secure_element/1.0/vts/functional/VtsHalSecureElementV1_0TargetTest.cpp
+++ b/secure_element/1.0/vts/functional/VtsHalSecureElementV1_0TargetTest.cpp
@@ -34,14 +34,13 @@ using ::android::hardware::Void;
34using ::android::sp; 34using ::android::sp;
35using ::testing::VtsHalHidlTargetTestEnvBase; 35using ::testing::VtsHalHidlTargetTestEnvBase;
36 36
37#define SELECT_ISD \ 37#define DATA_APDU \
38 { 0x00, 0xA4, 0x04, 0x00, 0x00 } 38 { 0x00, 0x08, 0x00, 0x00, 0x00 }
39#define SEQUENCE_COUNTER \ 39#define ANDROID_TEST_AID \
40 { 0x80, 0xCA, 0x00, 0xC1, 0x00 } 40 { \
41#define MANAGE_SELECT \ 41 0xA0, 0x00, 0x00, 0x04, 0x76, 0x41, 0x6E, 0x64, 0x72, 0x6F, 0x69, 0x64, 0x43, 0x54, 0x53, \
42 { 0x00, 0xA4, 0x04, 0x00, 0x00 } 42 0x31 \
43#define CRS_AID \ 43 }
44 { 0xA0, 0x00, 0x00, 0x01, 0x51, 0x43, 0x52, 0x53, 0x00 }
45 44
46constexpr char kCallbackNameOnStateChange[] = "onStateChange"; 45constexpr char kCallbackNameOnStateChange[] = "onStateChange";
47 46
@@ -115,7 +114,7 @@ TEST_F(SecureElementHidlTest, isCardPresent) {
115 * Check status word in the response 114 * Check status word in the response
116 */ 115 */
117TEST_F(SecureElementHidlTest, transmit) { 116TEST_F(SecureElementHidlTest, transmit) {
118 std::vector<uint8_t> aid = CRS_AID; 117 std::vector<uint8_t> aid = ANDROID_TEST_AID;
119 SecureElementStatus statusReturned; 118 SecureElementStatus statusReturned;
120 LogicalChannelResponse response; 119 LogicalChannelResponse response;
121 se_->openLogicalChannel( 120 se_->openLogicalChannel(
@@ -132,9 +131,9 @@ TEST_F(SecureElementHidlTest, transmit) {
132 } 131 }
133 }); 132 });
134 EXPECT_EQ(SecureElementStatus::SUCCESS, statusReturned); 133 EXPECT_EQ(SecureElementStatus::SUCCESS, statusReturned);
135 EXPECT_LE((unsigned int)3, response.selectResponse.size()); 134 EXPECT_LE((unsigned int)2, response.selectResponse.size());
136 EXPECT_LE(1, response.channelNumber); 135 EXPECT_LE(1, response.channelNumber);
137 std::vector<uint8_t> command = SELECT_ISD; 136 std::vector<uint8_t> command = DATA_APDU;
138 std::vector<uint8_t> transmitResponse; 137 std::vector<uint8_t> transmitResponse;
139 se_->transmit(command, [&transmitResponse](std::vector<uint8_t> res) { 138 se_->transmit(command, [&transmitResponse](std::vector<uint8_t> res) {
140 transmitResponse.resize(res.size()); 139 transmitResponse.resize(res.size());
@@ -145,16 +144,6 @@ TEST_F(SecureElementHidlTest, transmit) {
145 EXPECT_LE((unsigned int)3, transmitResponse.size()); 144 EXPECT_LE((unsigned int)3, transmitResponse.size());
146 EXPECT_EQ(0x90, transmitResponse[transmitResponse.size() - 2]); 145 EXPECT_EQ(0x90, transmitResponse[transmitResponse.size() - 2]);
147 EXPECT_EQ(0x00, transmitResponse[transmitResponse.size() - 1]); 146 EXPECT_EQ(0x00, transmitResponse[transmitResponse.size() - 1]);
148 command = SEQUENCE_COUNTER;
149 se_->transmit(command, [&transmitResponse](std::vector<uint8_t> res) {
150 transmitResponse.resize(res.size());
151 for (size_t i = 0; i < res.size(); i++) {
152 transmitResponse[i] = res[i];
153 }
154 });
155 EXPECT_LE((unsigned int)3, transmitResponse.size());
156 EXPECT_EQ(0x90, transmitResponse[transmitResponse.size() - 2]);
157 EXPECT_EQ(0x00, transmitResponse[transmitResponse.size() - 1]);
158 EXPECT_EQ(SecureElementStatus::SUCCESS, se_->closeChannel(response.channelNumber)); 147 EXPECT_EQ(SecureElementStatus::SUCCESS, se_->closeChannel(response.channelNumber));
159} 148}
160 149
@@ -164,7 +153,7 @@ TEST_F(SecureElementHidlTest, transmit) {
164 * open channel, check the length of selectResponse and close the channel 153 * open channel, check the length of selectResponse and close the channel
165 */ 154 */
166TEST_F(SecureElementHidlTest, openBasicChannel) { 155TEST_F(SecureElementHidlTest, openBasicChannel) {
167 std::vector<uint8_t> aid = CRS_AID; 156 std::vector<uint8_t> aid = ANDROID_TEST_AID;
168 SecureElementStatus statusReturned; 157 SecureElementStatus statusReturned;
169 std::vector<uint8_t> response; 158 std::vector<uint8_t> response;
170 se_->openBasicChannel(aid, 0x00, 159 se_->openBasicChannel(aid, 0x00,
@@ -180,17 +169,6 @@ TEST_F(SecureElementHidlTest, openBasicChannel) {
180 }); 169 });
181 if (statusReturned == SecureElementStatus::SUCCESS) { 170 if (statusReturned == SecureElementStatus::SUCCESS) {
182 EXPECT_LE((unsigned int)3, response.size()); 171 EXPECT_LE((unsigned int)3, response.size());
183 std::vector<uint8_t> command = SELECT_ISD;
184 std::vector<uint8_t> transmitResponse;
185 se_->transmit(command, [&transmitResponse](std::vector<uint8_t> res) {
186 transmitResponse.resize(res.size());
187 for (size_t i = 0; i < res.size(); i++) {
188 transmitResponse[i] = res[i];
189 }
190 });
191 EXPECT_LE((unsigned int)3, transmitResponse.size());
192 EXPECT_EQ(0x90, transmitResponse[transmitResponse.size() - 2]);
193 EXPECT_EQ(0x00, transmitResponse[transmitResponse.size() - 1]);
194 return; 172 return;
195 } 173 }
196 EXPECT_EQ(SecureElementStatus::UNSUPPORTED_OPERATION, statusReturned); 174 EXPECT_EQ(SecureElementStatus::UNSUPPORTED_OPERATION, statusReturned);
@@ -221,7 +199,7 @@ TEST_F(SecureElementHidlTest, getAtr) {
221 * Close Channel 199 * Close Channel
222 */ 200 */
223TEST_F(SecureElementHidlTest, openCloseLogicalChannel) { 201TEST_F(SecureElementHidlTest, openCloseLogicalChannel) {
224 std::vector<uint8_t> aid = CRS_AID; 202 std::vector<uint8_t> aid = ANDROID_TEST_AID;
225 SecureElementStatus statusReturned; 203 SecureElementStatus statusReturned;
226 LogicalChannelResponse response; 204 LogicalChannelResponse response;
227 se_->openLogicalChannel( 205 se_->openLogicalChannel(
@@ -238,7 +216,7 @@ TEST_F(SecureElementHidlTest, openCloseLogicalChannel) {
238 } 216 }
239 }); 217 });
240 EXPECT_EQ(SecureElementStatus::SUCCESS, statusReturned); 218 EXPECT_EQ(SecureElementStatus::SUCCESS, statusReturned);
241 EXPECT_LE((unsigned int)3, response.selectResponse.size()); 219 EXPECT_LE((unsigned int)2, response.selectResponse.size());
242 EXPECT_LE(1, response.channelNumber); 220 EXPECT_LE(1, response.channelNumber);
243 EXPECT_EQ(SecureElementStatus::SUCCESS, se_->closeChannel(response.channelNumber)); 221 EXPECT_EQ(SecureElementStatus::SUCCESS, se_->closeChannel(response.channelNumber));
244} 222}