Say I want to read public elements of EMV card. I will list some steps which I think are involved.
1. First, select application
In order to select application we must:
(1) find out AID of application using PSE (if present)
(2) Try existing AID list.
Now, imagine I successfully selected application using one of the two methods above.
My question is: What steps I must undertake further to read the public elements of EMV card? More precisely: Do I need to provide card with PDOL and get AIP and AFL (http://www.openscdp.org/scripts/tutorial/emv/initiateapplicationprocess.html) using GET PROCESSING OPTIONS and then read out the records?
Or after selecting application like I mentioned initially, I can directly proceed with something like this (reading out records): link to source?
The EMV specifications for payment systems are publicly available at http://www.emvco.com/. These specifications contain details processes and flows how EMV compliant payment terminsal can read that data from a card, so you could simply implement the relevant parts of these specifications.
To summarize, what you would typically do to get the static data stored on the card:
Just to add to Michel's excellent answer:-