/*! * test_EcdhKeyAgreement.cpp * * \brief Tests for the EcdhKeyAgreement * * \copyright Copyright (c) 2014 Governikus GmbH & Co. KG */ #include "pace/ec/EcdhKeyAgreement.h" #include "MockReader.h" #include "TestFileHelper.h" #include "asn1/PACEInfo.h" #include #include using namespace governikus; class test_EcdhKeyAgreement : public QObject { Q_OBJECT QSharedPointer mEfCardAccess; private Q_SLOTS: void initTestCase() { auto data = TestFileHelper::readFile(":/card/efCardAccess.hex"); mEfCardAccess = EFCardAccess::fromHex(data); } /* * Reported during conformance tests. */ void perform_failureOnGetNonce() { QVector transmitConfigs; transmitConfigs.append(TransmitConfig(ReturnCode::OK, QByteArray::fromHex("6982"))); QScopedPointer reader(MockReader::createMockReader(transmitConfigs, mEfCardAccess)); QSharedPointer paceInfo = mEfCardAccess->getSecurityInfos().at(0); QScopedPointer keyAgreement(new EcdhKeyAgreement(paceInfo, reader->createCardConnectionWorker())); KeyAgreementStatus result = keyAgreement->perform("123456"); QCOMPARE(result, KeyAgreementStatus::PROTOCOLL_ERROR); } }; QTEST_GUILESS_MAIN(test_EcdhKeyAgreement) #include "test_EcdhKeyAgreement.moc"