Christmas is coming soon! To thank for the support from all our dear customers, Christmas promotional activity is going on in JavaCardOS online store. For more activities details, please check this post.

How to use pyGlobalPlatform to upload and install applet

pyGlobalPlatform is a open source python library of globalplatform client library.
User avatar
JavaCardOS
Posts: 264
Joined: Thu Apr 30, 2015 12:00 pm
Points :2305
Contact:

How to use pyGlobalPlatform to upload and install applet

Post by JavaCardOS » Tue Nov 24, 2015 8:35 am

Here is the code implementing how to upload and install applet into java card via pyGlobalPlatform.

Code: Select all

# Import the module
import globalplatformlib as gp

# EstablishContext
context = gp.establishContext()

# Select smartcard reader
readernames = gp.listReaders(context)
readerName=readernames[0]

# Connect the reader
cardInfo = gp.connectCard(context, readerName, gp.SCARD_PROTOCOL_Tx)

# Get SCP details
scp, scpi = gp.getSCPDetails(context, cardInfo)

# Mutual Authentication
securityInfo = gp.mutualAuthentication(context, cardInfo, gp.DEFAULT_KEY, gp.DEFAULT_KEY, gp.DEFAULT_KEY, gp.DEFAULT_KEY, 0, 0, scp, scpi, 0, 0)

# Select CAP file
capFile = 'C:\\workspace\\bignumcalc\\bin\\com\\javacard\\bignumcalc\\javacard\\bignumcalc.cap'
loadFileInfo = gp.readExecutableLoadFileParameters(capFile)
packageAID = loadFileInfo['loadFileAID']
appletAID = loadFileInfo['applets'][0]

# Delete the same package which has been already in the card.
try:
    ret = gp.deleteApplication(context, cardInfo, securityInfo, packageAID)
except Exception, e:
    print e.message
    pass

# Install the applet
ret = gp.installForLoad(context, cardInfo, securityInfo, packageAID, gp.AID_ISD, '', '', 0, 0, 0)
if ret == -1:
    raise Exception("Install for load failed.")
ret = gp.load(context, cardInfo, securityInfo, '', capFile)
if ret == -1:
    raise Exception("Load failed.")
ret = gp.installForInstall(context, cardInfo, securityInfo, packageAID, appletAID, appletAID, 0, 0, 0, 0, '')
if ret == -1:
    raise Exception("Install failed.")

# Release context
gp.releaseContext(context)

nobody2015
Posts: 15
Joined: Wed Aug 19, 2015 3:11 am
Points :48
Contact:

Re: How to use pyGlobalPlatform to upload and install applet

Post by nobody2015 » Tue Dec 01, 2015 11:46 pm

Is there have the API function descriptions about this pyGlobalPlatform library?

Post Reply Previous topicNext topic

Who is online

Users browsing this forum: Baidu [Spider] and 0 guests

JavaCard OS : Disclaimer