AusweisApp2/test/helper/TestAuthContext.cpp

67 lines
2.1 KiB
C++
Raw Normal View History

2017-07-03 09:33:28 +02:00
/*!
2018-03-28 15:10:51 +02:00
* \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany
2017-07-03 09:33:28 +02:00
*/
2017-09-15 10:23:30 +02:00
#include "paos/retrieve/DidAuthenticateEac1Parser.h"
2017-07-03 09:33:28 +02:00
#include "TestAuthContext.h"
#include "TestFileHelper.h"
using namespace governikus;
TestAuthContext::TestAuthContext(ActivationContext* pActivationContext, const QString& pFileName)
2017-12-20 14:54:05 +01:00
: AuthContext(QSharedPointer<ActivationContext>(pActivationContext))
2017-07-03 09:33:28 +02:00
, mDidAuthenticateEac1()
{
mDidAuthenticateEac1.reset(static_cast<DIDAuthenticateEAC1*>(DidAuthenticateEac1Parser().parse(TestFileHelper::readFile(pFileName))));
setDidAuthenticateEac1(mDidAuthenticateEac1);
setTerminalCvc(mDidAuthenticateEac1->getCvCertificates().at(0));
setDvCvc(mDidAuthenticateEac1->getCvCertificates().at(1));
}
TestAuthContext::~TestAuthContext()
{
}
void TestAuthContext::setRequiredAccessRights(const QSet<AccessRight>& pAccessRights)
{
if (pAccessRights.isEmpty())
{
mDidAuthenticateEac1->mEac1InputType.mRequiredChat.reset();
}
else
{
if (!mDidAuthenticateEac1->getRequiredChat())
{
mDidAuthenticateEac1->mEac1InputType.mRequiredChat.reset(new CHAT(getTerminalCvc()->getBody().getCHAT()));
}
2017-12-20 14:54:05 +01:00
qSharedPointerConstCast<CHAT>(mDidAuthenticateEac1->getRequiredChat())->removeAllAccessRights();
qSharedPointerConstCast<CHAT>(mDidAuthenticateEac1->getRequiredChat())->setAccessRights(pAccessRights);
2017-07-03 09:33:28 +02:00
}
setDidAuthenticateEac1(mDidAuthenticateEac1);
setTerminalCvc(mDidAuthenticateEac1->getCvCertificates().at(0));
}
void TestAuthContext::setOptionalAccessRights(const QSet<AccessRight>& pAccessRights)
{
if (pAccessRights.isEmpty())
{
mDidAuthenticateEac1->mEac1InputType.mOptionalChat.reset();
}
else
{
if (!mDidAuthenticateEac1->getOptionalChat())
{
mDidAuthenticateEac1->mEac1InputType.mOptionalChat.reset(new CHAT(getTerminalCvc()->getBody().getCHAT()));
}
2017-12-20 14:54:05 +01:00
qSharedPointerConstCast<CHAT>(mDidAuthenticateEac1->getOptionalChat())->removeAllAccessRights();
qSharedPointerConstCast<CHAT>(mDidAuthenticateEac1->getOptionalChat())->setAccessRights(pAccessRights);
2017-07-03 09:33:28 +02:00
}
setDidAuthenticateEac1(mDidAuthenticateEac1);
setTerminalCvc(mDidAuthenticateEac1->getCvCertificates().at(0));
}