This library provides a simple and nice C++ wrapper around these libraries, so that programmers can concentrate on functionality. It offers general support for PCSC-lite, OpenSSL, PKCS#11, plus specific functionality for the SuisseID.
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.3 KiB
35 lines
1.3 KiB
/*! @file |
|
|
|
@id $Id$ |
|
*/ |
|
// 1 2 3 4 5 6 7 8 |
|
// 45678901234567890123456789012345678901234567890123456789012345678901234567890 |
|
|
|
#include <suisseid.hxx> |
|
|
|
#include <mrw/args.hxx> |
|
#include <stdexcept> |
|
#include <iostream> |
|
|
|
int main(int argc, char** argv) try { |
|
|
|
std::string lib("libcvP11.so"); |
|
mrw::args::parse(argc, argv, |
|
"Sign a text (optionally several times for performance" |
|
" measurements).", |
|
mrw::args::defaults() |
|
<<mrw::args::decl("l", "library", "cryptoki lirary to load", |
|
mrw::args::decl::param_list() |
|
<<mrw::args::param(lib, "lib"))); |
|
|
|
suisseid::Cards cards(suisseid::Scanner(lib).scan()); |
|
for (suisseid::Cards::iterator card(cards.begin()); card!=cards.end(); ++card) |
|
std::cout<<"Found SuisseID:"<<std::endl |
|
<<" Reader Name: "<<(*card)->name()<<std::endl |
|
<<" Version: "<<(*card)->version()<<std::endl |
|
<<" PIN-Length: "<<(*card)->minimalPinLength() |
|
<<" - "<<(*card)->maximalPinLength()<<std::endl; |
|
return 0; |
|
} catch (std::exception& x) { |
|
std::cerr<<"**** ERROR in "<<*argv<<": "<<x.what()<<std::endl; |
|
}
|
|
|