SlideShare uma empresa Scribd logo
1 de 11
jCardSim
Development platform for Java Card Applications
Ivan Kinash, Mikhail Dudarev
Berlin, 2015
Agenda
• Brief history of jCardSim
• Functionality
• Advantages
• Users
Brief history of jCardSim
• First public release in December
2011
• jcardsim.org launched in June
2012
• Presented at JavaOne 2012
(Moscow)
• Oracle Duke’s Choice Award 2013
Winner
Functionality
• Full Support for Java Card 3.0.4 (Classic) API
• Emulation of Java Card Terminal, ability to use
javax.smartcardio (T0/T1 protocols)
• Ability to run applets remotely
• Connectivity with PC/SC virtual reader
• APDU scripting (scripts are compatible with
apdutool from Java Card Development Kit)
Advantages
• Support for most cryptographic algorithms
defined in Java Card Specification
– Message Digests (SHA-1, SHA-224..512)
– Ciphers (DES,AES,RSA)
– Signatures (RSA, ECDSA, DSA, AES_MAC,
DES_MAC, HMAC*)
– KeyAgreements (ECDH*,ECDHC*)
Advantages
• Rich Simulation API
– Load/install applets w/o conversion in to cap
– Ability to run multiple card terminals
simultaneously
– Manage card states (Insert/Remove, Reset)
• Cross-platform
Advantages
• Rapid Java Card application prototyping
• Ease of writing Unit-tests (5 lines of code)
• Integration with NetBeans
• Allows developer to debug interaction
between Java Card applications and JCRE
Simulator API Demo
// 1. Create simulator
CardSimulator simulator = new CardSimulator();
// 2. Install applet
AID appletAID = AIDUtil.create(”a00000006203010c0101");
simulator.installApplet(appletAID, HelloWorldApplet.class);
// 3. Select applet
simulator.selectApplet(appletAID);
// 4. Send APDU
CommandAPDU commandAPDU = new CommandAPDU(0x80, 0x01, 0x00, 0x00);
ResponseAPDU response = simulator.transmitCommand(commandAPDU);
// 5. Check response status word
assertEquals(0x9000, response.getSW()
Furtherworks
• Persistence of VM State
• Profiles
– Hardware (RAM/EEPROM, ..)
– Java Card API Set
– Cryptographic algorithms Set
Users
• JavaCard applications development
- Thales
- Automobile industry (BMW/Audi)
- Yubico
• As software SE implementation
- Simplytapp (https://www.simplytapp.com)
• Universities
THANKS!

Mais conteúdo relacionado

Mais procurados

Eric java card-basics-140314
Eric java card-basics-140314Eric java card-basics-140314
Eric java card-basics-140314Eric Vétillard
 
Security applications with Java Card
Security applications with Java CardSecurity applications with Java Card
Security applications with Java CardJulien SIMON
 
Step-by-step Development of an Application for the Java Card Connected Platform
Step-by-step Development of an Application for the Java Card Connected PlatformStep-by-step Development of an Application for the Java Card Connected Platform
Step-by-step Development of an Application for the Java Card Connected PlatformEric Vétillard
 
First Steps with Java Card
First Steps with Java CardFirst Steps with Java Card
First Steps with Java CardEric Vétillard
 
Java Card, 15 years later
Java Card, 15 years laterJava Card, 15 years later
Java Card, 15 years laterEric Vétillard
 
Java Card Platform Security and Performance
Java Card Platform Security and PerformanceJava Card Platform Security and Performance
Java Card Platform Security and PerformanceEric Vétillard
 
JAVA CARD BY SAIKIRAN PANJALA
JAVA CARD BY SAIKIRAN PANJALAJAVA CARD BY SAIKIRAN PANJALA
JAVA CARD BY SAIKIRAN PANJALASaikiran Panjala
 
Government Citizen ID using Java Card Platform
Government Citizen ID using Java Card PlatformGovernment Citizen ID using Java Card Platform
Government Citizen ID using Java Card PlatformRamesh Nagappan
 
Java Card Technology: The Foundations of NFC
Java Card Technology: The Foundations of NFCJava Card Technology: The Foundations of NFC
Java Card Technology: The Foundations of NFCEric Vétillard
 
JAVA RING WITH IMPLEMENTATION.ppt
JAVA RING WITH IMPLEMENTATION.pptJAVA RING WITH IMPLEMENTATION.ppt
JAVA RING WITH IMPLEMENTATION.pptsowndryaganesh
 
SmartTrust WIB 1.3
SmartTrust WIB 1.3SmartTrust WIB 1.3
SmartTrust WIB 1.3Julien SIMON
 
From Bitcoin Hardware Wallets to Personal Privacy Devices
From Bitcoin Hardware Wallets to Personal Privacy DevicesFrom Bitcoin Hardware Wallets to Personal Privacy Devices
From Bitcoin Hardware Wallets to Personal Privacy DevicesMecklerMedia
 
Managing PIV Card Lifecycle and Converging Physical & Logical Access Control
Managing PIV Card Lifecycle and Converging Physical & Logical Access ControlManaging PIV Card Lifecycle and Converging Physical & Logical Access Control
Managing PIV Card Lifecycle and Converging Physical & Logical Access ControlRamesh Nagappan
 
OCR Level 1 Award in IT User Skills ~ ITQs - 03-06-13
OCR Level 1 Award in IT User Skills ~ ITQs - 03-06-13OCR Level 1 Award in IT User Skills ~ ITQs - 03-06-13
OCR Level 1 Award in IT User Skills ~ ITQs - 03-06-13Michael J. Wyldbore
 

Mais procurados (18)

Eric java card-basics-140314
Eric java card-basics-140314Eric java card-basics-140314
Eric java card-basics-140314
 
Security applications with Java Card
Security applications with Java CardSecurity applications with Java Card
Security applications with Java Card
 
Step-by-step Development of an Application for the Java Card Connected Platform
Step-by-step Development of an Application for the Java Card Connected PlatformStep-by-step Development of an Application for the Java Card Connected Platform
Step-by-step Development of an Application for the Java Card Connected Platform
 
Java card
Java card Java card
Java card
 
First Steps with Java Card
First Steps with Java CardFirst Steps with Java Card
First Steps with Java Card
 
Java Card, 15 years later
Java Card, 15 years laterJava Card, 15 years later
Java Card, 15 years later
 
Java card technology
Java card technologyJava card technology
Java card technology
 
Java Card Platform Security and Performance
Java Card Platform Security and PerformanceJava Card Platform Security and Performance
Java Card Platform Security and Performance
 
JAVA CARD BY SAIKIRAN PANJALA
JAVA CARD BY SAIKIRAN PANJALAJAVA CARD BY SAIKIRAN PANJALA
JAVA CARD BY SAIKIRAN PANJALA
 
Government Citizen ID using Java Card Platform
Government Citizen ID using Java Card PlatformGovernment Citizen ID using Java Card Platform
Government Citizen ID using Java Card Platform
 
Java Card Technology: The Foundations of NFC
Java Card Technology: The Foundations of NFCJava Card Technology: The Foundations of NFC
Java Card Technology: The Foundations of NFC
 
Java me introduction
Java me   introductionJava me   introduction
Java me introduction
 
JAVA RING WITH IMPLEMENTATION.ppt
JAVA RING WITH IMPLEMENTATION.pptJAVA RING WITH IMPLEMENTATION.ppt
JAVA RING WITH IMPLEMENTATION.ppt
 
SmartTrust WIB 1.3
SmartTrust WIB 1.3SmartTrust WIB 1.3
SmartTrust WIB 1.3
 
Java ring
Java ringJava ring
Java ring
 
From Bitcoin Hardware Wallets to Personal Privacy Devices
From Bitcoin Hardware Wallets to Personal Privacy DevicesFrom Bitcoin Hardware Wallets to Personal Privacy Devices
From Bitcoin Hardware Wallets to Personal Privacy Devices
 
Managing PIV Card Lifecycle and Converging Physical & Logical Access Control
Managing PIV Card Lifecycle and Converging Physical & Logical Access ControlManaging PIV Card Lifecycle and Converging Physical & Logical Access Control
Managing PIV Card Lifecycle and Converging Physical & Logical Access Control
 
OCR Level 1 Award in IT User Skills ~ ITQs - 03-06-13
OCR Level 1 Award in IT User Skills ~ ITQs - 03-06-13OCR Level 1 Award in IT User Skills ~ ITQs - 03-06-13
OCR Level 1 Award in IT User Skills ~ ITQs - 03-06-13
 

Semelhante a jCardSim - development platform for Java Card Applications

jCardSim – Java Card is simple!
jCardSim – Java Card is simple!jCardSim – Java Card is simple!
jCardSim – Java Card is simple!Mikhail Dudarev
 
Tu dresden 290404_jcop
Tu dresden 290404_jcopTu dresden 290404_jcop
Tu dresden 290404_jcoppri18saini
 
"JavaME + Android in action" CCT-CEJUG Dezembro 2008
"JavaME + Android in action" CCT-CEJUG Dezembro 2008"JavaME + Android in action" CCT-CEJUG Dezembro 2008
"JavaME + Android in action" CCT-CEJUG Dezembro 2008Vando Batista
 
Security's Once and Future King
Security's Once and Future KingSecurity's Once and Future King
Security's Once and Future KingKapil Sachdeva
 
Developing native mobile applications using titanium
Developing native mobile applications using titaniumDeveloping native mobile applications using titanium
Developing native mobile applications using titaniumVlad Filip
 
The State of Java under Oracle at JCertif 2011
The State of Java under Oracle at JCertif 2011The State of Java under Oracle at JCertif 2011
The State of Java under Oracle at JCertif 2011Arun Gupta
 
Ben Pashkoff - java embedded - 24mai2011
Ben Pashkoff - java embedded - 24mai2011Ben Pashkoff - java embedded - 24mai2011
Ben Pashkoff - java embedded - 24mai2011Agora Group
 
Introduction to Android
Introduction to AndroidIntroduction to Android
Introduction to AndroidOum Saokosal
 
PlaySIM Project Java One 2009
PlaySIM Project Java One 2009PlaySIM Project Java One 2009
PlaySIM Project Java One 2009Sebastian Hans
 
Study of Java Card and its Application
Study of Java Card and its ApplicationStudy of Java Card and its Application
Study of Java Card and its Applicationeditor1knowledgecuddle
 
Smart Cards, ePassports, and open source
Smart Cards, ePassports, and open sourceSmart Cards, ePassports, and open source
Smart Cards, ePassports, and open sourceMartijn Oostdijk
 
Intro to Java ME and Asha Platform
Intro to Java ME and Asha PlatformIntro to Java ME and Asha Platform
Intro to Java ME and Asha PlatformJussi Pohjolainen
 
2013 06-ohkawa-heart-presen
2013 06-ohkawa-heart-presen2013 06-ohkawa-heart-presen
2013 06-ohkawa-heart-presenTakeshi Ohkawa
 

Semelhante a jCardSim - development platform for Java Card Applications (20)

jCardSim – Java Card is simple!
jCardSim – Java Card is simple!jCardSim – Java Card is simple!
jCardSim – Java Card is simple!
 
Tu dresden 290404_jcop
Tu dresden 290404_jcopTu dresden 290404_jcop
Tu dresden 290404_jcop
 
Java card technology
Java card technologyJava card technology
Java card technology
 
"JavaME + Android in action" CCT-CEJUG Dezembro 2008
"JavaME + Android in action" CCT-CEJUG Dezembro 2008"JavaME + Android in action" CCT-CEJUG Dezembro 2008
"JavaME + Android in action" CCT-CEJUG Dezembro 2008
 
Java me introduction
Java me   introductionJava me   introduction
Java me introduction
 
Java me introduction
Java me   introductionJava me   introduction
Java me introduction
 
Security's Once and Future King
Security's Once and Future KingSecurity's Once and Future King
Security's Once and Future King
 
Developing native mobile applications using titanium
Developing native mobile applications using titaniumDeveloping native mobile applications using titanium
Developing native mobile applications using titanium
 
The State of Java under Oracle at JCertif 2011
The State of Java under Oracle at JCertif 2011The State of Java under Oracle at JCertif 2011
The State of Java under Oracle at JCertif 2011
 
Ben Pashkoff - java embedded - 24mai2011
Ben Pashkoff - java embedded - 24mai2011Ben Pashkoff - java embedded - 24mai2011
Ben Pashkoff - java embedded - 24mai2011
 
Introduction to Android
Introduction to AndroidIntroduction to Android
Introduction to Android
 
CV-A Naeem
CV-A NaeemCV-A Naeem
CV-A Naeem
 
PlaySIM Project Java One 2009
PlaySIM Project Java One 2009PlaySIM Project Java One 2009
PlaySIM Project Java One 2009
 
cv_en
cv_encv_en
cv_en
 
Study of Java Card and its Application
Study of Java Card and its ApplicationStudy of Java Card and its Application
Study of Java Card and its Application
 
Resume
ResumeResume
Resume
 
Smart Cards, ePassports, and open source
Smart Cards, ePassports, and open sourceSmart Cards, ePassports, and open source
Smart Cards, ePassports, and open source
 
Intro google-android
Intro google-androidIntro google-android
Intro google-android
 
Intro to Java ME and Asha Platform
Intro to Java ME and Asha PlatformIntro to Java ME and Asha Platform
Intro to Java ME and Asha Platform
 
2013 06-ohkawa-heart-presen
2013 06-ohkawa-heart-presen2013 06-ohkawa-heart-presen
2013 06-ohkawa-heart-presen
 

Último

Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....ShaimaaMohamedGalal
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 

Último (20)

Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 

jCardSim - development platform for Java Card Applications

  • 1. jCardSim Development platform for Java Card Applications Ivan Kinash, Mikhail Dudarev Berlin, 2015
  • 2. Agenda • Brief history of jCardSim • Functionality • Advantages • Users
  • 3. Brief history of jCardSim • First public release in December 2011 • jcardsim.org launched in June 2012 • Presented at JavaOne 2012 (Moscow) • Oracle Duke’s Choice Award 2013 Winner
  • 4. Functionality • Full Support for Java Card 3.0.4 (Classic) API • Emulation of Java Card Terminal, ability to use javax.smartcardio (T0/T1 protocols) • Ability to run applets remotely • Connectivity with PC/SC virtual reader • APDU scripting (scripts are compatible with apdutool from Java Card Development Kit)
  • 5. Advantages • Support for most cryptographic algorithms defined in Java Card Specification – Message Digests (SHA-1, SHA-224..512) – Ciphers (DES,AES,RSA) – Signatures (RSA, ECDSA, DSA, AES_MAC, DES_MAC, HMAC*) – KeyAgreements (ECDH*,ECDHC*)
  • 6. Advantages • Rich Simulation API – Load/install applets w/o conversion in to cap – Ability to run multiple card terminals simultaneously – Manage card states (Insert/Remove, Reset) • Cross-platform
  • 7. Advantages • Rapid Java Card application prototyping • Ease of writing Unit-tests (5 lines of code) • Integration with NetBeans • Allows developer to debug interaction between Java Card applications and JCRE
  • 8. Simulator API Demo // 1. Create simulator CardSimulator simulator = new CardSimulator(); // 2. Install applet AID appletAID = AIDUtil.create(”a00000006203010c0101"); simulator.installApplet(appletAID, HelloWorldApplet.class); // 3. Select applet simulator.selectApplet(appletAID); // 4. Send APDU CommandAPDU commandAPDU = new CommandAPDU(0x80, 0x01, 0x00, 0x00); ResponseAPDU response = simulator.transmitCommand(commandAPDU); // 5. Check response status word assertEquals(0x9000, response.getSW()
  • 9. Furtherworks • Persistence of VM State • Profiles – Hardware (RAM/EEPROM, ..) – Java Card API Set – Cryptographic algorithms Set
  • 10. Users • JavaCard applications development - Thales - Automobile industry (BMW/Audi) - Yubico • As software SE implementation - Simplytapp (https://www.simplytapp.com) • Universities

Notas do Editor

  1. Позволяет разработчику отлаживать взаимодействие между JavaCard приложениями и JCRE, в отличии от всех имеющихся на рынке решений как JCDK(cref) так и нативные вендор-специфик реализации
  2. Позволяет разработчику отлаживать взаимодействие между JavaCard приложениями и JCRE, в отличии от всех имеющихся на рынке решений как JCDK(cref) так и нативные вендор-специфик реализации
  3. Позволяет разработчику отлаживать взаимодействие между JavaCard приложениями и JCRE, в отличии от всех имеющихся на рынке решений как JCDK(cref) так и нативные вендор-специфик реализации