Gerald Madlmayr is mobile consultant dealing especially with contactless and UICC-based applications as well as security and privacy in such systems. In 2009 he was named the 'NFC-Guru' by Nokia.
geri-m | 12 February, 2009 07:40
Dear all,
today we are starting the Talk-to-the-Guru Session. So who am I? I'm a researcher at the NFC Research Lab in Hagenberg for nearly four years now. I implemented an NFC Trial for 100 users that ran from October 2006 to July 2007 (mainly used J2SE und J2ME). In addition to J2SE and J2ME platforms I'm also dealing with JavaCards and JavaCard based SIM/UICCs. Besides that, we supported our project partners mobilkom austria, NXP and HIDGlobal (Omnikey) in their NFC activities. Addtionally I'm heading for a PhD in the field of Security and mobile Applications at the Johannes Kepler University in Linz.
So what is this session about: well, if you have any questions regarding the development of applications, the use of tools or general questions regarding NFC technology, just post them and I'll try to find a suitable answer. You can also find also additional material on NFC on Forum Nokia.
For those of you, who are new to NFC development, I compiled a Jump Start that gives you the basic tools to start with NFC Development.
Bwt: I'm at Mobile World Congress (MWC) in Barcelona next week. Just let me know if you are there as well and would like to meet. Addtionally I'm giving a Workshop at the NFC Congress 2009 in Hagenberg.
Best Regards, Gerald
Browsing |
Next |
Previous |
Comments (53) |
Trackbacks (0)
geri-m | 13/02/2009, 13:14
Dear amarsahu,
Thank you for you post. Yes, it is true, that you do need to have a signed Certificate (by a CA) to verify the authenticity of your application on the phone. Your self-sign certificate does not work, as the appropriate root certificate is not in the phone. Therefore if you would like your application to access to secure element you do need a certificate. Remember: The secure element is not a play ground and therefore also the application accessing the secure element need to be secured.
Actually when buying a certificate from thawte you do get a discount if you mention that you are a university or a student.
croozeus | 16/02/2009, 09:46
Hi Guru :-)
The tutorial is very helpful!
Thanks!
Best Regards,
Croozeus
geri-m | 16/02/2009, 09:51
Hi Croozeus - thanks a lot!
cschandorf | 05/03/2009, 16:19
Hi,
I am unsuccessfully trying to select the Arygon NFC reader in transparent mode. The Arygon reader uses the same chip as the Nokia6131 i.e. the NXP PN531 but I can select the Nokia phone in transparent mode. I have configured the Arygon reader as a target using the TgInitTAMATarget command (passive only mode) etc. I would like to know what the difference might be between the Nokia6131 implementation and my code for the Arygon reader. I think the Nokia phone switches continuously from active to passive mode in search of a card or reader. Can you tell me exactly what goes on while the phone is idle and what commands are used once a reader/writer is detected?
geri-m | 05/03/2009, 19:24
Dear cschandorf, sorry, but I don't know excatly details about the polling loop of the 6131 especially in combination with the argyon reader. What you could try is, switching card emulation mode and then use a midlet to switch the nokia into initator mode to communicate with the arygon reader.
I hope that helps.
Cheers, Gerald
geomcq | 19/03/2009, 10:51
Hi, I have two questions regarding your NFC implementation.
Q1. Assume a defense application where the phone battery no longer works and cannot be recharged in the field. Will the NFC implementation still work properly when the phone is presented to a card reader? As you know, a contactless smart card would work, drawing its energy from the reader.
Q2. Assume for the same integrated application, with a working battery, that I require both Skyhook-like location sensing and NFC capability. Where can I get such a phone?
geri-m | 21/03/2009, 10:29
Hi geomcq,
ad Q1) I'm a litte unsure what you mean by 'defense application', but for now I assume, you mean a smartcard application in the secure element of the mobile phone. (please correct me if I'm wrong). Yes, there is work in progress by the NFC players, that such a "powered by the field" mode is implemented into hardware of an NFC device, if necessary.
ad Q2) As far is I know, there is no such device available at the moment.
Br, Gerald
geomcq | 22/03/2009, 17:59
Thanks. By defense, I meant military, but only in the sense that the phone is in an environment where otherwise logical solutions like "relace the battery" or "charge the battery" are not possible, at least not immediately.
Should I conclude from your anwer that the Nokia 6131 NFC will not provide NFC applications without the phone battery being charged and available?
Can my applications (MIDlets) access NFC features in such a way that I can provide a public key application that draws on the
"secure element" for actual private key encryption and decryption for messages transmitted over the internet?
shahzads | 01/04/2009, 07:51
Dear Gerald,
I am very new to NFC. I want to create a working prototype which can demonstrate secure payment transactions using NFC, this does not require actual mobile phone implementation, only emulator based application will work. I have started to explore Nokia 6212 SDK.
Can an emulator containing user's credit credentials in SE, communicate with some reader back and forth to emulate the actual transaction scenario (mobile being used as contact less smart card)
Please guide me by providing a line of action and some pointers to relevant material.
Kind Regards
Shahzad Saleem
KTH, Stockholm.
geri-m | 01/04/2009, 17:22
Dear Geomcq,
(sorry for the late reply)
ad Battery) Yes & No. With regard to card Emulation, there is basic mode, that allows you to use your phone as smartcard even, the phone is off (but not without battery). This mode is called "powered-by-the-field". R/W or P2P based Applications (using Midlets) do require a battery.
ad PKI) Yes, you can use the assymetric cryptographic functions of the integrated secure elements of the Nokia 6131
br, gerald
geri-m | 02/04/2009, 11:13
Dear shahzads,
actually the NFC Manager of the 6212 SDK is only able to simulate the mobile phone, but no external reader. Therefore it might be somehow tricky to simulated a payment infrastructure, that consists out of a mobile as well as an external terminal. The SE of the NFC Manager actually be used to store credit credientials.
Please find some code examples (see "ticketing") in the WIKI: http://wiki.forum.nokia.com/index.php?title=Category:WIMA2008
Br, Gerald
shahzads | 02/04/2009, 16:13
Hi
First of all thanks for a prompt response. I have two more questions from your reply.
(1) If I follow Mobile to Reader scenario then I will have to have an actual mobile phone and reader. I have seen a way to unlock SE of 6131 from Nokia forum, similarly do we need to unlock SE of 6212 too if yes then the same code will work or there is some other way?
(2) If I simulate another scenario i.e. money transactions between 2 peers emulated by two instances of 6212 each having an emulated smart card in it and communicating by NFC LLCP. Is it possible and feasible line of action? If yes then please provide me some useful pointers and links to get more understanding and help in its implementation.
Thanks
Shahzad Saleem.
rajen_vj | 09/04/2009, 06:15
Hello sir,
I have some doubts regarding the application that can be developed using the 6131 (or 6212 nokia). My question is whether it is possible to do bluetooth pairing through NFC using JSR82 and JSR257 API's or not and if its possible some guidance on how to achieve that on the 6131 (or 6212)? and if its not possible then is there any other alternative to achieve bluetooth pairing through NFC.
Hoping for soon reply.
Thanks in advance.
Rajen
geri-m | 09/04/2009, 09:04
Dear Rajen,
BT-Pairing (at the Moment) can only be done between one of the Nokias and an external device such as a picture Frame, a printer or an audio device. pairing between two nokia at the moment is not yet possible for the of-the-self phones.
Br, Geri-m
rajen_vj | 14/04/2009, 06:05
Thanks for instant reply sir.
I would also like to know if the pairing between nokia and an external device can be done through JSR82? If yes can you please guide me through the basic and if no then how to accomplish the pairing part between the two at application layer?
Thanks for your guidance.
Rajen
geri-m | 14/04/2009, 09:32
Dear Rajen,
as fas as I know, the JSR82 can not be used to pair to BT-Devices. (it can only be done on a lower layer). But I'm not an expert on BT. Feel free to post your question in the form nokia as well in a related thread.
br, Gerald
rajen_vj | 14/04/2009, 12:30
Thanks for the guidance, will do as directed :).
Regards,
Rajen
shahzads | 20/04/2009, 14:20
Dear Gerald,
JSR 177 included with 6212 does not have the following packages of SATSA
1) satsa-apdu
2) satsa-jcrmi
Will you please guide me how can i add them to 6212 SDK. Actually I want to use Asymmetric Cryptography with 6212 SDK for signing/varification and en/decryption.
Kind Regards
Shahzad.
geri-m | 20/04/2009, 14:24
Dear Shahzad,
the best way to cover this problem is
a) to use the ext. JSR257 to communicate with the Secure element (using APDUs)
b) implement a Java Card Applet running on the secure element doing the cryptographic functions for you.
Br, Gerald
shahzads | 20/04/2009, 20:09
Dear Gerald,
I want to confine myself only to the emulator and accompanying NFC manager. Any suggestions for this scenario?
BR
Shahzad.
shahzads | 21/04/2009, 00:04
Dear Gerald,
Will you please let me know:
1- How to un-lock 6212 to install java card applets into its SE.
2- How to install/add java card applets to SE of 6212.
Thanks,
Shahzad.
geri-m | 25/04/2009, 12:52
Dear Shahzads,
ad 1) The unlock tools is available at
ad 2) You could use tools like Sun's JavaCard SDK, G&D Smartcafe or NXP JCOP Tools,
Br, Gerald
geri-m | 25/04/2009, 12:55
The unlock tool is available here: http://www.forum.nokia.com/info/sw.nokia.com/id/a796065d-fa6a-449f-b3de-70d46ff99f19/NFC_Unlock.zip.html
Br, Gerald
shahzads | 25/05/2009, 03:18
Dear Gerald,
I am working with Nokia 6212 Emulator. Scenario is the following:
Two peers want to communicate securely using LLCP. Security features are provided by an emulated smart card residing in SE of Nokia Emulator along with P2P communication using LLCP.
In this regard, I have implemented two emulated smart cards and attached them with two instances of Nokia 6212, then opened a connection with smart card on each peer. Then I tried to establish a P2P link using LLCP to communicate between two peers, which I could not do because both outbound and inbound connections are lost.
Emulator can either communicate with emulated smart card or with its peer using LLCP at a time but can't do both types communications simultaneously. Do you know how can i get around this problem.
Kind Regards
Shahzad.
geri-m | 25/05/2009, 16:30
Dear Shahzad,
I came across this issue some time ago. At the moment there is no possibile to due so, due to the implemented of the NFC Chipset inside the mobile device.
br, gerald
shahzads | 25/05/2009, 19:31
Dear Gerald,
Thanks for a prompt response. Just one thing more, is the above scenario (simultaneous communication with an embedded smart card residing in SE of actual nokia mobile phone and P2P using LLCP) possible with a real nokia 6212 mobile phone? Hope to hear from you soon from you again.
Kind Regards
Shahzad.
geri-m | 25/05/2009, 21:26
Dear Shahzad, nop it is also not possible on the real phone (6212 nor 6131). br, Gerald
amarsahu | 26/05/2009, 06:18
Hi,
I bought a certificate from thawte. I used carbide to sign my application. However when I load this application on the phone I get an error saying certificate not on phone or sim. How do I get rid of this error?
cell phone news | 29/05/2009, 19:42
very useful article, thank you Gerald.
geri-m | 12/06/2009, 09:52
Hi amarsahu,
have you made sure, that the appropriate Root-Certificate is in the memory of phone? (you can check this with the certificate manager). Also make sure, that date and time are correctly set.
Br, Gerald
paolo_tn | 16/06/2009, 16:35
Hi guru,
I'm about to buy a Code signing certificate from Thawte in order to sign a midlet which will be deplyed on 6212 NFC Nokia. In my memory phone, I have three root-certificate:
a Thawte Code Server Ca,
a Thwate Premium Server CA and
a Thwate Code Signing.
The latter one should be the right certificate for cross-certification with any code-signing certificate bought from Thwate, but the option " Cross-certification" is disabled by default , while "application-signing" and "server-authentication" are enabled.
I fear some problems may arise while installing any certificate acquired from Thwate. I tried to search the Web but found no clear explanations.
May I have your opinion in this regard? Have you had any experience in code-signign with Thwate?
Thanks advancely
Paolo
geri-m | 17/06/2009, 07:36
Hi Paolo,
I'm using also a thawte certificate to sign my midles. As you are having the appropriate certifcates in the certificate store it should (I cross my finger - no garantuee ;-) work you for you fine.
br, Gerald
bruce76 | 23/06/2009, 03:51
Gerald,
I apologize for the newbie question. I have a Nokia 6212, and I'd like to know the process of how to load either a MIFARE tag or a JavaCard applet on the secure element in order to make the phone operate in card emulation mode.
Thanks,
Bruce
mammoty | 25/06/2009, 06:38
Hi Gerald,
Iam also having same issue as above. I am new to NFC. Trying to load a Java Card applet to secure element in Emulator of 6212. I can see the option to do the same in 6131 emulator.
But donot know how to do the same in 6131.
Regards
Mammooty
geri-m | 21/07/2009, 08:24
Well,
1) you need a JavaCard Dev-Enviroment (eg. lie Eclipe, Netbeans + JavaCard Plugins)
2) unlook the Nokia using the unlock Midlet; this will set the keys of the secure elemen to "standard"
3) get a Contactless Reader
4) use GPShell (etc.) to load the applet into the secure element. (see: http://discussion.forum.nokia.com/forum/showthread.php?t=124299)
Cheers, geri-m
geri-m | 21/07/2009, 08:25
Well,
1) you need a JavaCard Dev-Enviroment (eg. lie Eclipe, Netbeans + JavaCard Plugins)
2) unlook the Nokia using the unlock Midlet; this will set the keys of the secure elemen to "standard"
3) get a Contactless Reader
4) use GPShell (etc.) to load the applet into the secure element. (see: http://discussion.forum.nokia.com/forum/showthread.php?t=124299)
Cheers, geri-m
y06uc084 | 22/07/2009, 09:57
Sir,
I am trying to develop mobile application for nokia S60 in which i need to access sim contacts.i tried using j2me but unable to do it .In S60 guide, it is mentioned tht S60 doesn't support APDU and jcrmi package.But in the folder where i installed S60 emulator,APDUConnection class file is present in its lib folder.so i m nt getting it.
or there is ny other way to do it???????
waiting 4 ur reply
y06uc084 | 22/07/2009, 09:58
Sir,
I am trying to develop mobile application for nokia S60 in which i need to access sim contacts.i tried using j2me but unable to do it .In S60 guide, it is mentioned tht S60 doesn't support APDU and jcrmi package.But in the folder where i installed S60 emulator,APDUConnection class file is present in its lib folder.so i m nt getting it.
or there is ny other way to do it???????
waiting 4 ur reply
geri-m | 22/07/2009, 10:14
As far as I'm concered, you are currently not able to use the APDU/JSR177 to access the UICC in the mobile.
y06uc084 | 22/07/2009, 10:34
sir,
then how to access sim contacts of nokia???????
geri-m | 22/07/2009, 11:15
sorry, but I don't think it is possible at the moment.
amarsahu | 22/07/2009, 14:01
Hi,
I want to load credit/debit card details on the secure element of the nokia 6131 NFC phone. I have purchased a certificate from thawte to access the secure element on the phone. How is this done?
Is there any application that has to be written in order to load the card details on the phone. Your inputs will help me proceed.
Regards,
Amar Sahu
geri-m | 22/07/2009, 18:47
In order to load details into the secure element, you have to use the unlock midlet to remove the keys of the secure element. then you can do the following:
1) you need a JavaCard Dev-Enviroment (eg. lie Eclipe, Netbeans + JavaCard Plugins)
2) unlook the Nokia using the unlock Midlet; this will set the keys of the secure elemen to "standard"
3) get a Contactless Reader
4) use GPShell (etc.) to load the applet into the secure element. (see: http://discussion.forum.nokia.com/forum/showthread.php?t=124299)
you don't need the certificate to load applets into the secure element.
geri-m | 22/07/2009, 18:47
In order to load details into the secure element, you have to use the unlock midlet to remove the keys of the secure element. then you can do the following:
1) you need a JavaCard Dev-Enviroment (eg. lie Eclipe, Netbeans + JavaCard Plugins)
2) unlook the Nokia using the unlock Midlet; this will set the keys of the secure elemen to "standard"
3) get a Contactless Reader
4) use GPShell (etc.) to load the applet into the secure element. (see: http://discussion.forum.nokia.com/forum/showthread.php?t=124299)
you don't need the certificate to load applets into the secure element.
kiragong | 24/07/2009, 03:23
Dear Gerald,
I want to develop application that enables the communication between nokia 6131 NFC and an external reader (NFC Encoder) which is connected to a PC.
My question follows:
Do I have to install an applet in the phone's SE and a MIDLet in the phone? And also a desktop application based on the reader SDK?
Can I not install this applet in the SE and make the communication between the phone and the reader directly through the MIDLet?
Thanks,
y06uc084 | 24/07/2009, 19:40
Sir,
I m trying to access sim contacts using APDU package.
But there to open the connection with sim, it asks for application identifier of sim application. How can we obtain this application identifier?
y06uc084 | 24/07/2009, 19:43
Sir,
I m trying to access sim contacts using APDU package.
But there to open the connection with sim, it asks for application identifier of sim application. How can we obtain this application identifier?
Lili_22 | 11/08/2009, 08:28
Hi Gerald. I like your blog more than others cause you answer allways.
Iam also trying to load a Java Card applet to secure element in Emulator of 6251.
geri-m | 14/08/2009, 20:20
Hey guys,
it's not that tricky
1) load unlock midlet onto the phone and unlock secure elemenet
2) Key-set 42 is now 404142434445464748494a4b4c4d4e4f
3) Then use a tools such a gpshell, jcop tools, g&d smartcafe, gemalto devSuite and authenticate against the card
4) load and install applet.
Just try to be more precisese where you have trouble. there are already serval posting on that on my blog as well as in the nokia forum.
all the best, Gerald
hamtam | 04/09/2009, 22:45
Dear Gerald,
I want to demonstrate the ticketing example of 6212 sdk and I have some questions.
I also tried the emulation of the ticketing example of 6131 sdk successfully and it works well but I wonder how should I do for 6212.
My questions are:
1- how can I use internal and external secure card applets of 6131 ticketing example for emulate on 6212?
2- how can I develope my own smart card applets and load them to internal and external smartcard of 6212 emulator and NFC card manager.
Thanks
Hamid
SecurityException Error
amarsahu | 13/02/2009, 13:06
Hi,
I am Amar Sahu a Research Student working at Indian Institute of Science Bangalore, India. I am working with NFC applications and am using a Nokia 6131 NFC phone. I am trying to implement the ticketing application on the phone. I have an External card reader from Arygon. When i try to check the balance of NFC card on the phone; I get a SecurityException error. The forum members suggest that I have to buy a certificate from a Certifying Authority (CA) to get rid of this error. Is this true? I tried creating a self signed certificate but it didn't help. Please help me if there are any alternate methods for implementing this application.