Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Perl) PC/SC Get Card UIDSee more SCard ExamplesSends the APDU command to get a card's UID.
use chilkat(); # This example requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. $scard = chilkat::CkSCard->new(); # First establish a context to the PC/SC Resource Manager $success = $scard->EstablishContext("user"); if ($success == 0) { print $scard->lastErrorText() . "\r\n"; exit; } # Use your own smart card reader name here. $success = $scard->Connect("ACS ACR122 0","shared","no_preference"); if ($success == 0) { print $scard->lastErrorText() . "\r\n"; exit; } print "Connected reader: " . $scard->connectedReader() . "\r\n"; print "Active protocol: " . $scard->activeProtocol() . "\r\n"; print "ATR: " . $scard->cardAtr() . "\r\n"; print "Reader Status: " . $scard->readerStatus() . "\r\n"; # Send the APDU command 0xFF, 0xCA, 0x00, 0x00, 0x00 $bdRecv = chilkat::CkBinData->new(); $success = $scard->TransmitHex($scard->activeProtocol(),"FFCA000000",$bdRecv,32); if ($success == 1) { print "Received: " . $bdRecv->getEncoded("hex") . "\r\n"; # The UID is the returned data without the final 2 bytes. $numBytes = $bdRecv->get_NumBytes(); if ($numBytes > 2) { print "UID: " . $bdRecv->getEncodedChunk(0,$numBytes - 2,"hex") . "\r\n"; } } else { print $scard->lastErrorText() . "\r\n"; } # Disconnect from this reader. $success = $scard->Disconnect("leave"); if ($success == 0) { print $scard->lastErrorText() . "\r\n"; } # Applications should always release the context when finished. $success = $scard->ReleaseContext(); if ($success == 0) { print $scard->lastErrorText() . "\r\n"; } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.