added methods to get specific certificates; refs #27
This commit is contained in:
@@ -11,6 +11,17 @@
|
||||
#include <QtNetwork/QSslCertificate>
|
||||
#include <QtCore/QDateTime>
|
||||
|
||||
void show(const suisseid::Certificate& cert) {
|
||||
QSslCertificate c(QByteArray(cert.data(), cert.size()), QSsl::Der);
|
||||
std::cout<<"Certificate info: CN="
|
||||
<<QString(c.subjectInfo(QSslCertificate::CommonName)
|
||||
.toUtf8()).toStdString()
|
||||
<<std::endl
|
||||
<<" Valid until: "
|
||||
<<QString(c.expiryDate().toString().toUtf8()).toStdString()
|
||||
<<std::endl;
|
||||
}
|
||||
|
||||
int main(int argc, char** argv) try {
|
||||
std::string lib("libcvP11.so");
|
||||
mrw::args::parse(argc, argv,
|
||||
@@ -54,6 +65,8 @@ int main(int argc, char** argv) try {
|
||||
<<" p: PIN change"<<std::endl
|
||||
<<" i: (re-) import certificates"<<std::endl
|
||||
<<" z: show certificates"<<std::endl
|
||||
<<" a: show authentication certificate"<<std::endl
|
||||
<<" d: show digital signature certificate"<<std::endl
|
||||
<<" q: quit"<<std::endl;
|
||||
std::cin>>choice;
|
||||
try {
|
||||
@@ -80,16 +93,12 @@ int main(int argc, char** argv) try {
|
||||
} else if (choice=="z") {
|
||||
for (suisseid::Certificates::iterator cert(certs.begin());
|
||||
cert!=certs.end(); ++cert) {
|
||||
QSslCertificate c(QByteArray(cert->data(), cert->size()),
|
||||
QSsl::Der);
|
||||
std::cout<<"Certificate info: CN="
|
||||
<<QString(c.subjectInfo(QSslCertificate::CommonName)
|
||||
.toUtf8()).toStdString()
|
||||
<<std::endl
|
||||
<<" Valid until: "
|
||||
<<QString(c.expiryDate().toString().toUtf8()).toStdString()
|
||||
<<std::endl;
|
||||
show(*cert);
|
||||
}
|
||||
} else if (choice=="a") {
|
||||
show((*card)->authenticationCertificate());
|
||||
} else if (choice=="d") {
|
||||
show((*card)->digitalSignatureCertificate());
|
||||
} else if (choice=="q") {
|
||||
return 0;
|
||||
} else {
|
||||
|
Reference in New Issue
Block a user