Skip to content

Commit a717afc

Browse files
committed
Rename CardCertificateAndPinInfo to EidCertificateAndPinInfo
IB-8171, WE2-1105 Signed-off-by: Mart Somermaa <mrts@users.noreply.github.com>
1 parent 6492ff6 commit a717afc

24 files changed

+142
-142
lines changed

src/controller/application.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,8 +189,8 @@ void Application::registerMetatypes()
189189
qRegisterMetaType<std::vector<electronic_id::ElectronicID::ptr>>();
190190
qRegisterMetaType<electronic_id::VerifyPinFailed::Status>();
191191

192-
qRegisterMetaType<CardCertificateAndPinInfo>();
193-
qRegisterMetaType<std::vector<CardCertificateAndPinInfo>>();
192+
qRegisterMetaType<EidCertificateAndPinInfo>();
193+
qRegisterMetaType<std::vector<EidCertificateAndPinInfo>>();
194194

195195
qRegisterMetaType<RetriableError>();
196196
}

src/controller/certandpininfo.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ struct PinInfo
4848
static constexpr int PIN_PAD_PIN_ENTRY_TIMEOUT = pcsc_cpp::PIN_PAD_PIN_ENTRY_TIMEOUT;
4949
};
5050

51-
struct CardCertificateAndPinInfo
51+
struct EidCertificateAndPinInfo
5252
{
5353
electronic_id::ElectronicID::ptr eid;
5454
QByteArray certificateBytesInDer;
@@ -57,4 +57,4 @@ struct CardCertificateAndPinInfo
5757
PinInfo pinInfo;
5858
};
5959

60-
Q_DECLARE_METATYPE(CardCertificateAndPinInfo)
60+
Q_DECLARE_METATYPE(EidCertificateAndPinInfo)

src/controller/command-handlers/authenticate.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -118,20 +118,20 @@ Authenticate::Authenticate(const CommandWithArguments& cmd) : CertificateReader(
118118
}
119119

120120
QVariantMap Authenticate::onConfirm(WebEidUI* window,
121-
const CardCertificateAndPinInfo& cardCertAndPin)
121+
const EidCertificateAndPinInfo& certAndPinInfo)
122122
{
123123
try {
124124
const auto signatureAlgorithm =
125-
QString::fromStdString(cardCertAndPin.eid->authSignatureAlgorithm());
125+
QString::fromStdString(certAndPinInfo.eid->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.eid, window);
131+
getPin(pin, *certAndPinInfo.eid, window);
132132
const auto signature =
133-
createSignature(origin.url(), challengeNonce, *cardCertAndPin.eid, std::move(pin));
134-
return createAuthenticationToken(signatureAlgorithm, cardCertAndPin.certificateBytesInDer,
133+
createSignature(origin.url(), challengeNonce, *certAndPinInfo.eid, std::move(pin));
134+
return createAuthenticationToken(signatureAlgorithm, certAndPinInfo.certificateBytesInDer,
135135
signature);
136136

137137
} catch (const VerifyPinFailed& failure) {

src/controller/command-handlers/authenticate.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class Authenticate : public CertificateReader
3333

3434
void connectSignals(const WebEidUI* window) override;
3535
QVariantMap onConfirm(WebEidUI* window,
36-
const CardCertificateAndPinInfo& cardCertAndPin) override;
36+
const EidCertificateAndPinInfo& certAndPinInfo) override;
3737

3838
signals:
3939
void verifyPinFailed(const electronic_id::VerifyPinFailed::Status status,

src/controller/command-handlers/certificatereader.cpp

Lines changed: 22 additions & 22 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 ElectronicID::ptr& card,
35-
const CertificateType certificateType)
34+
EidCertificateAndPinInfo getCertificateWithStatusAndInfo(const ElectronicID::ptr& eid,
35+
const CertificateType certificateType)
3636
{
37-
const auto certificateBytes = card->getCertificate(certificateType);
37+
const auto certificateBytes = eid->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->name());
44+
"Invalid certificate returned by electronic ID " + eid->name());
4545
}
4646

4747
auto subject = certificate.subjectInfo(QSslCertificate::CommonName).join(' ');
@@ -61,16 +61,16 @@ CardCertificateAndPinInfo getCertificateWithStatusAndInfo(const ElectronicID::pt
6161
CertificateInfo certInfo {
6262
certificateType, certificate.expiryDate() < QDateTime::currentDateTimeUtc(),
6363
certificate.effectiveDate() > QDateTime::currentDateTimeUtc(), std::move(subject)};
64-
PinInfo pinInfo {certificateType.isAuthentication() ? card->authPinMinMaxLength()
65-
: card->signingPinMinMaxLength(),
66-
certificateType.isAuthentication() ? card->authPinRetriesLeft()
67-
: card->signingPinRetriesLeft(),
68-
card->smartcard().readerHasPinPad()};
64+
PinInfo pinInfo {certificateType.isAuthentication() ? eid->authPinMinMaxLength()
65+
: eid->signingPinMinMaxLength(),
66+
certificateType.isAuthentication() ? eid->authPinRetriesLeft()
67+
: eid->signingPinRetriesLeft(),
68+
eid->smartcard().readerHasPinPad()};
6969
if (pinInfo.pinRetriesCount.first == 0) {
7070
pinInfo.pinIsBlocked = true;
7171
}
7272

73-
return {card, std::move(certificateDer), certificate, std::move(certInfo), std::move(pinInfo)};
73+
return {eid, std::move(certificateDer), certificate, std::move(certInfo), std::move(pinInfo)};
7474
}
7575

7676
} // namespace
@@ -83,27 +83,27 @@ CertificateReader::CertificateReader(const CommandWithArguments& cmd) : CommandH
8383
}
8484
}
8585

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

9090
certificateType = command.first == CommandType::AUTHENTICATE ? CertificateType::AUTHENTICATION
9191
: CertificateType::SIGNING;
9292

93-
std::vector<CardCertificateAndPinInfo> certInfos;
94-
certInfos.reserve(cards.size());
95-
for (const auto& card : cards) {
93+
std::vector<EidCertificateAndPinInfo> certAndPinInfos;
94+
certAndPinInfos.reserve(eids.size());
95+
for (const auto& eid : eids) {
9696
try {
97-
certInfos.push_back(getCertificateWithStatusAndInfo(card, certificateType));
97+
certAndPinInfos.push_back(getCertificateWithStatusAndInfo(eid, certificateType));
9898
} catch (const WrongCertificateTypeError&) {
9999
// Ignore eIDs that don't support the given ceritifcate type.
100100
}
101101
}
102102

103-
if (certInfos.empty()) {
103+
if (certAndPinInfos.empty()) {
104104
emit retry(RetriableError::NO_VALID_CERTIFICATE_AVAILABLE);
105105
} else {
106-
emitCertificatesReady(certInfos);
106+
emitCertificatesReady(certAndPinInfos);
107107
}
108108
}
109109

@@ -117,12 +117,12 @@ void CertificateReader::connectSignals(const WebEidUI* window)
117117
}
118118

119119
void CertificateReader::emitCertificatesReady(
120-
const std::vector<CardCertificateAndPinInfo>& certInfos)
120+
const std::vector<EidCertificateAndPinInfo>& certAndPinInfos)
121121
{
122-
if (certInfos.size() == 1) {
123-
emit singleCertificateReady(origin, certInfos[0]);
122+
if (certAndPinInfos.size() == 1) {
123+
emit singleCertificateReady(origin, certAndPinInfos[0]);
124124
} else {
125-
emit multipleCertificatesReady(origin, certInfos);
125+
emit multipleCertificatesReady(origin, certAndPinInfos);
126126
}
127127
}
128128

src/controller/command-handlers/certificatereader.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,12 @@ class CertificateReader : public CommandHandler
3333
public:
3434
explicit CertificateReader(const CommandWithArguments& cmd);
3535

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

3939
protected:
4040
virtual void
41-
emitCertificatesReady(const std::vector<CardCertificateAndPinInfo>& cardCertAndPinInfos);
41+
emitCertificatesReady(const std::vector<EidCertificateAndPinInfo>& certAndPinInfos);
4242
void validateAndStoreOrigin(const QVariantMap& arguments);
4343

4444
electronic_id::CertificateType certificateType = electronic_id::CertificateType::NONE;

src/controller/command-handlers/getcertificate.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,12 @@ GetCertificate::GetCertificate(const CommandWithArguments& cmd) : CertificateRea
4747
}
4848

4949
QVariantMap GetCertificate::onConfirm(WebEidUI* /* window */,
50-
const CardCertificateAndPinInfo& cardCertAndPin)
50+
const EidCertificateAndPinInfo& certAndPinInfo)
5151
{
5252
// Quoting https://tools.ietf.org/html/rfc7515#section-4.1.6:
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.
55-
auto certPem = cardCertAndPin.certificateBytesInDer.toBase64();
56-
auto algos = supportedSigningAlgos(*cardCertAndPin.eid);
55+
auto certPem = certAndPinInfo.certificateBytesInDer.toBase64();
56+
auto algos = supportedSigningAlgos(*certAndPinInfo.eid);
5757
return {{"certificate", QString(certPem)}, {"supportedSignatureAlgorithms", algos}};
5858
}

src/controller/command-handlers/getcertificate.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,5 @@ class GetCertificate : public CertificateReader
3232
GetCertificate(const CommandWithArguments& cmd);
3333

3434
QVariantMap onConfirm(WebEidUI* window,
35-
const CardCertificateAndPinInfo& cardCertAndPin) override;
35+
const EidCertificateAndPinInfo& certAndPinInfo) override;
3636
};

src/controller/command-handlers/sign.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -69,14 +69,14 @@ Sign::Sign(const CommandWithArguments& cmd) : CertificateReader(cmd)
6969
validateAndStoreOrigin(arguments);
7070
}
7171

72-
void Sign::emitCertificatesReady(const std::vector<CardCertificateAndPinInfo>& cardCertAndPinInfos)
72+
void Sign::emitCertificatesReady(const std::vector<EidCertificateAndPinInfo>& certAndPinInfos)
7373
{
74-
const CardCertificateAndPinInfo* cardWithCertificateFromArgs = nullptr;
74+
const EidCertificateAndPinInfo* cardWithCertificateFromArgs = nullptr;
7575

76-
for (const auto& cardCertAndPin : cardCertAndPinInfos) {
76+
for (const auto& certAndPinInfo : certAndPinInfos) {
7777
// Check if the certificate read from the eID matches the certificate provided as argument.
78-
if (cardCertAndPin.certificate.toDer() == userEidCertificateFromArgs) {
79-
cardWithCertificateFromArgs = &cardCertAndPin;
78+
if (certAndPinInfo.certificate.toDer() == userEidCertificateFromArgs) {
79+
cardWithCertificateFromArgs = &certAndPinInfo;
8080
}
8181
}
8282

@@ -95,16 +95,16 @@ void Sign::emitCertificatesReady(const std::vector<CardCertificateAndPinInfo>& c
9595
emit singleCertificateReady(origin, *cardWithCertificateFromArgs);
9696
}
9797

98-
QVariantMap Sign::onConfirm(WebEidUI* window, const CardCertificateAndPinInfo& cardCertAndPin)
98+
QVariantMap Sign::onConfirm(WebEidUI* window, const EidCertificateAndPinInfo& certAndPinInfo)
9999
{
100100
try {
101101
pcsc_cpp::byte_vector pin;
102102
// Reserve space for APDU overhead (5 bytes) + PIN padding (16 bytes) to prevent PIN memory
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.eid, window);
107-
auto signature = signHash(*cardCertAndPin.eid, std::move(pin), docHash, hashAlgo);
106+
getPin(pin, *certAndPinInfo.eid, window);
107+
auto signature = signHash(*certAndPinInfo.eid, std::move(pin), docHash, hashAlgo);
108108
return {{QStringLiteral("signature"), std::move(signature.first)},
109109
{QStringLiteral("signatureAlgorithm"), std::move(signature.second)}};
110110

src/controller/command-handlers/sign.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,16 +33,16 @@ class Sign : public CertificateReader
3333

3434
void connectSignals(const WebEidUI* window) override;
3535
QVariantMap onConfirm(WebEidUI* window,
36-
const CardCertificateAndPinInfo& cardCertAndPin) override;
36+
const EidCertificateAndPinInfo& certAndPinInfo) override;
3737

3838
signals:
3939
void signingCertificateMismatch();
4040
void verifyPinFailed(const electronic_id::VerifyPinFailed::Status status,
4141
const qint8 retriesLeft);
4242

4343
private:
44-
void emitCertificatesReady(
45-
const std::vector<CardCertificateAndPinInfo>& cardCertAndPinInfos) override;
44+
void
45+
emitCertificatesReady(const std::vector<EidCertificateAndPinInfo>& certAndPinInfos) override;
4646
void validateAndStoreDocHashAndHashAlgo(const QVariantMap& args);
4747

4848
QByteArray docHash;

0 commit comments

Comments
 (0)