Q: What smart cards are supported by Carpeek?

See the list of currently supported cards.

Q: My smart card seems supported by Cardpeek, but the programs fails to read it, why?

There are many possible causes to such a problem:

See the troubleshooting section to try to identify the problem.

Q: Does Cardpeek read all the data in a card?

No, Cardpeek only reads data that is freely readable by the owner of the card.

Most smart cards contain some files or data that are protected and generally unreadable for the card owner. Such files or data may for example contain a secret key (for bank cards) or fingerprints images (e-passport). Cardpeek does not attempt to circumvent any type of technological protection that is used to protect such information. Therefore, not all card data is accessible to Cardpeek.

Q: Can I use Carpeek to write to a smart card?

Short answer: Yes, but it will take some work.

Long answer: Cardpeek is currently only designed to read data from cards, but it could be extended to write data to a card. When Cardpeek reads data from a card, it mostly uses standard ISO 7816 commands with self-explanatory names such as READ RECORD or READ BINARY. You could very easily extend Cardpeek to include commands such as WRITE RECORD or UPDATE BINARY. However, most cards require to be in a special state to be "written to", and/or require the "write" commands to be cryptographically authenticated. This require knowledge that is specific to the "operating system" of the card you are writing to. This is not a trivial task.

Q: Can I use Carpeek to copy/clone an existing smart card to a 'blank' card?

Short answer: No.

Long answer: Some people seem to hope that they could use Cardpeek to copy a bank card or a e-passport, for example. This usually means that they have a incomplete understanding of the purpose of Cardpeek and smart cards in general.

To copy a smart card, you need to be able to do at least the following things:

  1. Read all the data of the original card.
  2. Write all the data to the new card.
  3. Make sure the new card "behaves" like the original one.
If you read other questions in this FAQ, you will see that for most cards, Cardpeek does not achieve step 1, and that step 2 is difficult. Step 3 requires very good knowledge of the card application you want to copy.

In summary: Cardpeek is not the tool you are looking for if you want to copy a card.

Ashley Cardwell Tue, 30 Jun 2015 19:37:52 +0200
I have used this program to download my digital tacho card. I get given the choice of exporting a signed or unsigned data file. What is the difference? If the VOSA/DVA were to inspect my card downloads, would they accept the unsigned ones? What is the signature, I cannot find a difference in the files only in size and when opened in notepad. Also, this does not update the "Last Download" section on the card. please respond with what you can.
kevin Sun, 13 Sep 2015 19:43:45 +0200
Typo: s/Carpeek/Cardpeek/g
Miguel Thu, 31 Mar 2016 09:22:27 +0200
Hello, Cardpeek works well, but I have a tiny little problem : I save the read data in a xml file, but the file starts with <?xml version="1.0" type="UTF-8"?> and when I want to search contents in it (with javascript) it is impossible to read the file. I tried to change type= in encoding= and it worked. I would like to know if there is something I can do (like modify a cardpeek file) to automatically change it ?
L1L1 Thu, 31 Mar 2016 09:38:50 +0200
@Miguel: You found a bug thanks. It should absolutely be "encoding". If you are compiling cardpeek from source on Linux, you can edit the file dyntree_model.c on line 1137, replacing "type" by "encoding", and recompile. The next version of cardpeek will have this correction.
Miguel Fri, 22 Apr 2016 11:39:58 +0200
Hello, I have another issue with Cardpeek. I want to execute Cardpeek with a php file, but I have this error : ERROR Could not change to directory '(null)' Maybe it occurs because my www-data user doesn't have a HOME directory to create the .cardpeek directory ? Is there a way to change the path to /var/www/ for example instead of $HOME/ ?
Anonymous Fri, 22 Apr 2016 11:46:21 +0200
@miguel: You can change the path to your choice by setting the $CARDPEEK_DIR environment variable (e.g. export CARDPEEK_DIR=/var/www/).
Add comment:

Don't fill this field:




Email address will not be published. The html tags <i>, <b>, <code> and <pre> are allowed in the comments.