Skip to content

Commit 2bc909f

Browse files
committed
Remove CardInfo
Signed-off-by: Raul Metsma <[email protected]>
1 parent 5dd5830 commit 2bc909f

17 files changed

+52
-52
lines changed

src/controller/application.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -185,8 +185,8 @@ CommandWithArgumentsPtr Application::parseArgs()
185185
void Application::registerMetatypes()
186186
{
187187
qRegisterMetaType<electronic_id::AutoSelectFailed::Reason>();
188-
qRegisterMetaType<electronic_id::CardInfo::ptr>();
189-
qRegisterMetaType<std::vector<electronic_id::CardInfo::ptr>>();
188+
qRegisterMetaType<electronic_id::ElectronicID::ptr>();
189+
qRegisterMetaType<std::vector<electronic_id::ElectronicID::ptr>>();
190190
qRegisterMetaType<electronic_id::VerifyPinFailed::Status>();
191191

192192
qRegisterMetaType<CardCertificateAndPinInfo>();

src/controller/certandpininfo.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ struct PinInfo
5050

5151
struct CardCertificateAndPinInfo
5252
{
53-
electronic_id::CardInfo::ptr cardInfo;
53+
electronic_id::ElectronicID::ptr cardInfo;
5454
QByteArray certificateBytesInDer;
5555
QSslCertificate certificate {};
5656
CertificateInfo certInfo;

src/controller/command-handlers/authenticate.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -122,15 +122,15 @@ QVariantMap Authenticate::onConfirm(WebEidUI* window,
122122
{
123123
try {
124124
const auto signatureAlgorithm =
125-
QString::fromStdString(cardCertAndPin.cardInfo->eid().authSignatureAlgorithm());
125+
QString::fromStdString(cardCertAndPin.cardInfo->authSignatureAlgorithm());
126126
pcsc_cpp::byte_vector pin;
127127
// Reserve space for APDU overhead (5 bytes) + PIN padding (16 bytes) to prevent PIN memory
128128
// reallocation. The 16-byte limit comes from the max PIN length of 12 bytes across all card
129129
// implementations in lib/libelectronic-id/src/electronic-ids/pcsc/.
130130
pin.reserve(5 + 16);
131-
getPin(pin, cardCertAndPin.cardInfo->eid(), window);
132-
const auto signature = createSignature(origin.url(), challengeNonce,
133-
cardCertAndPin.cardInfo->eid(), std::move(pin));
131+
getPin(pin, *cardCertAndPin.cardInfo, window);
132+
const auto signature =
133+
createSignature(origin.url(), challengeNonce, *cardCertAndPin.cardInfo, std::move(pin));
134134
return createAuthenticationToken(signatureAlgorithm, cardCertAndPin.certificateBytesInDer,
135135
signature);
136136

src/controller/command-handlers/certificatereader.cpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,17 +31,17 @@ using namespace electronic_id;
3131
namespace
3232
{
3333

34-
CardCertificateAndPinInfo getCertificateWithStatusAndInfo(const CardInfo::ptr& card,
34+
CardCertificateAndPinInfo getCertificateWithStatusAndInfo(const ElectronicID::ptr& card,
3535
const CertificateType certificateType)
3636
{
37-
const auto certificateBytes = card->eid().getCertificate(certificateType);
37+
const auto certificateBytes = card->getCertificate(certificateType);
3838

3939
QByteArray certificateDer(reinterpret_cast<const char*>(certificateBytes.data()),
4040
int(certificateBytes.size()));
4141
QSslCertificate certificate(certificateDer, QSsl::Der);
4242
if (certificate.isNull()) {
4343
THROW(SmartCardChangeRequiredError,
44-
"Invalid certificate returned by electronic ID " + card->eid().name());
44+
"Invalid certificate returned by electronic ID " + card->name());
4545
}
4646

4747
auto subject = certificate.subjectInfo(QSslCertificate::CommonName).join(' ');
@@ -61,11 +61,11 @@ CardCertificateAndPinInfo getCertificateWithStatusAndInfo(const CardInfo::ptr& c
6161
CertificateInfo certInfo {
6262
certificateType, certificate.expiryDate() < QDateTime::currentDateTimeUtc(),
6363
certificate.effectiveDate() > QDateTime::currentDateTimeUtc(), std::move(subject)};
64-
PinInfo pinInfo {certificateType.isAuthentication() ? card->eid().authPinMinMaxLength()
65-
: card->eid().signingPinMinMaxLength(),
66-
certificateType.isAuthentication() ? card->eid().authPinRetriesLeft()
67-
: card->eid().signingPinRetriesLeft(),
68-
card->eid().smartcard().readerHasPinPad()};
64+
PinInfo pinInfo {certificateType.isAuthentication() ? card->authPinMinMaxLength()
65+
: card->signingPinMinMaxLength(),
66+
certificateType.isAuthentication() ? card->authPinRetriesLeft()
67+
: card->signingPinRetriesLeft(),
68+
card->smartcard().readerHasPinPad()};
6969
if (pinInfo.pinRetriesCount.first == 0) {
7070
pinInfo.pinIsBlocked = true;
7171
}
@@ -83,7 +83,7 @@ CertificateReader::CertificateReader(const CommandWithArguments& cmd) : CommandH
8383
}
8484
}
8585

86-
void CertificateReader::run(const std::vector<CardInfo::ptr>& cards)
86+
void CertificateReader::run(const std::vector<ElectronicID::ptr>& cards)
8787
{
8888
REQUIRE_NOT_EMPTY_CONTAINS_NON_NULL_PTRS(cards)
8989

src/controller/command-handlers/certificatereader.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class CertificateReader : public CommandHandler
3333
public:
3434
explicit CertificateReader(const CommandWithArguments& cmd);
3535

36-
void run(const std::vector<electronic_id::CardInfo::ptr>& cards) override;
36+
void run(const std::vector<electronic_id::ElectronicID::ptr>& cards) override;
3737
void connectSignals(const WebEidUI* window) override;
3838

3939
protected:

src/controller/command-handlers/getcertificate.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,6 @@ QVariantMap GetCertificate::onConfirm(WebEidUI* /* window */,
5353
// Each string in the array is a Base64-encoded (Section 4 of [RFC4648] -- not
5454
// Base64url-encoded) DER [ITU.X690.2008] PKIX certificate value.
5555
auto certPem = cardCertAndPin.certificateBytesInDer.toBase64();
56-
auto algos = supportedSigningAlgos(cardCertAndPin.cardInfo->eid());
56+
auto algos = supportedSigningAlgos(*cardCertAndPin.cardInfo);
5757
return {{"certificate", QString(certPem)}, {"supportedSignatureAlgorithms", algos}};
5858
}

src/controller/command-handlers/sign.cpp

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -86,9 +86,9 @@ void Sign::emitCertificatesReady(const std::vector<CardCertificateAndPinInfo>& c
8686
return;
8787
}
8888

89-
if (!cardWithCertificateFromArgs->cardInfo->eid().isSupportedSigningHashAlgorithm(hashAlgo)) {
89+
if (!cardWithCertificateFromArgs->cardInfo->isSupportedSigningHashAlgorithm(hashAlgo)) {
9090
THROW(ArgumentFatalError,
91-
"Electronic ID " + cardWithCertificateFromArgs->cardInfo->eid().name()
91+
"Electronic ID " + cardWithCertificateFromArgs->cardInfo->name()
9292
+ " does not support hash algorithm " + std::string(hashAlgo));
9393
}
9494

@@ -103,11 +103,10 @@ QVariantMap Sign::onConfirm(WebEidUI* window, const CardCertificateAndPinInfo& c
103103
// reallocation. The 16-byte limit comes from the max PIN length of 12 bytes across all card
104104
// implementations in lib/libelectronic-id/src/electronic-ids/pcsc/.
105105
pin.reserve(5 + 16);
106-
getPin(pin, cardCertAndPin.cardInfo->eid(), window);
107-
const auto signature =
108-
signHash(cardCertAndPin.cardInfo->eid(), std::move(pin), docHash, hashAlgo);
109-
return {{QStringLiteral("signature"), signature.first},
110-
{QStringLiteral("signatureAlgorithm"), signature.second}};
106+
getPin(pin, *cardCertAndPin.cardInfo, window);
107+
auto signature = signHash(*cardCertAndPin.cardInfo, std::move(pin), docHash, hashAlgo);
108+
return {{QStringLiteral("signature"), std::move(signature.first)},
109+
{QStringLiteral("signatureAlgorithm"), std::move(signature.second)}};
111110

112111
} catch (const VerifyPinFailed& failure) {
113112
switch (failure.status()) {

src/controller/commandhandler.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class CommandHandler : public QObject
3333
public:
3434
using ptr = std::unique_ptr<CommandHandler>;
3535

36-
virtual void run(const std::vector<electronic_id::CardInfo::ptr>& cards) = 0;
36+
virtual void run(const std::vector<electronic_id::ElectronicID::ptr>& cards) = 0;
3737
virtual void connectSignals(const WebEidUI* window) = 0;
3838
virtual QVariantMap onConfirm(WebEidUI* window,
3939
const CardCertificateAndPinInfo& cardCertAndPin) = 0;

src/controller/controller.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,8 @@ void Controller::connectOkCancelWaitingForPinPad()
163163
connect(window, &WebEidUI::waitingForPinPad, this, &Controller::onConfirmCommandHandler);
164164
}
165165

166-
void Controller::onCardsAvailable(const std::vector<electronic_id::CardInfo::ptr>& availableCards)
166+
void Controller::onCardsAvailable(
167+
const std::vector<electronic_id::ElectronicID::ptr>& availableCards)
167168
{
168169
try {
169170
REQUIRE_NON_NULL(commandHandler)
@@ -172,8 +173,8 @@ void Controller::onCardsAvailable(const std::vector<electronic_id::CardInfo::ptr
172173

173174
for (const auto& card : availableCards) {
174175
const auto protocol =
175-
card->eid().smartcard().protocol() == SmartCard::Protocol::T0 ? "T=0" : "T=1";
176-
qInfo() << "Card" << card->eid().name() << "in reader" << card->reader().name
176+
card->smartcard().protocol() == SmartCard::Protocol::T0 ? "T=0" : "T=1";
177+
qInfo() << "Card" << card->name() << "in reader" << card->smartcard().readerName()
177178
<< "using protocol" << protocol;
178179
}
179180

@@ -188,7 +189,7 @@ void Controller::onCardsAvailable(const std::vector<electronic_id::CardInfo::ptr
188189
}
189190
}
190191

191-
void Controller::runCommandHandler(const std::vector<electronic_id::CardInfo::ptr>& availableCards)
192+
void Controller::runCommandHandler(const std::vector<ElectronicID::ptr>& availableCards)
192193
{
193194
try {
194195
CommandHandlerRunThread* commandHandlerRunThread =

0 commit comments

Comments
 (0)