Smart Card SDK

I have been trying to get Smart Card to work on OSX for some time without success. I have decided to try the Apple SDK. I downloaded all the files, but Xcode gets tons of errors when trying to build. What am I doing wrong and, possibly the real question, how do I install? Thanks for any help!

Hi, h.
I suggest you post your question on the Developer Discussion, where development-related questions are answered.
I don't mean to send you somewhere else, but that's where the developers hang out.
Good luck!
Dr. Smoke
Author: Troubleshooting Mac® OS X

Similar Messages

  • Urgent help on Oberthur cosmo v7 smart cards sdk

    Please every one, I have bought an Oberthur cosmo v7 smart cards but do not have the sdk to develop my application. This has made my development very difficult. I have very limited time to submit my project work. Please, is anyone conversant with the cosmo v7 cards and can someone help me to get the cosmo v7 sdk and download it? I believe in this forum. Thanks in advance.
    Edited by: joesmo on May 26, 2010 6:37 PM

    Hi,
    There are 3 workarounds:
    1. Put a copy of opencard.properties in the root of you Eclipse project
    2. Change the working directory in the Run COnfiguration for when you application runs to the build target directory (${workspace_loc:<project name>/<target directory>}
    3. Change the OCF code to also look in the classpath
    The code for 3 is as follows. Change opencard.opt.util.OpenCardPropertyFileLoader.loadProperties() to the following
    public void loadProperties () throws OpenCardPropertyLoadingException {
        if (! loadingDone) {
            String dotPropStr = OpenCardConstants.OPENCARD_DOTPROPERTIES;
            String propStr    = OpenCardConstants.OPENCARD_PROPERTIES;
            SystemAccess sys=SystemAccess.getSystemAccess();
            List<String> loc = new ArrayList<String>();
            String [] locations = {
                    sys.getProperty ("java.home","") + File.separator + "lib" + File.separator + propStr,
                sys.getProperty ("user.home","") + File.separator + dotPropStr,
                sys.getProperty ("user.dir","")  + File.separator + propStr,
                sys.getProperty ("user.dir","")  + File.separator + dotPropStr };
        loc.addAll(Arrays.asList(locations));
        // try to access from classpath
        try {
            File cpath = new File(ClassLoader.getSystemClassLoader().getResource(".").toURI());
            loc.add(new File(cpath, propStr).getPath());
            loc.add(new File(cpath, dotPropStr).getPath());
        } catch(URISyntaxException e) {
            // ignore, just don't add
        // iterate over all potential locations for 'opencard.properties' files starting
        // with the most general one and proceeding with the more specific ones in order
        // to be able to 'overwrite' more general properties
        for (String path : loc)  {
            //System.out.println("property file "+locations[index]);
            load (path);
        if (! loadingDone) {
            throw new OpenCardPropertyLoadingException ("property file not found");
    } // loadPropertiesI have not tried this (using OCF and RMI) but since it is how the RMI sample are coded it should work fine. This should at least get you connecting to CREF.
    Cheers,
    Shane

  • Need a recommendation about java smart card and a reader

    I've been posting some message in this forum and others and haven't gotten a clear response.
    I want to experiment with java smart card technology.
    From what I gathered, Gemplus is a leading company in this field so I thought about buying a smart card reader from it and a java smart card.
    I thought about buying the "USB Smart Card Reader/Writer Plug n Play (GemPC430)" reader which costs 69$.
    Is this a reasonable price?
    I need an answer from someone with experience using it.
    Now then, which one should I buy?
    I only want to do smart card to desktop application interaction without anything on the web (e-commerce or anything to do with encryption).
    I can buy 5 "GS2.2 Standard Crypto GPK8000su512 RED"
    cards which cost 87.50$
    THATS A LOT OF MONEY!!!!
    Are all java smart cards that expensive?
    There is a list of other cards on their site but I haven't been able to locate their price and don't know which to buy.
    Finally, there is the "Kit, GemSAFE Enterprise Workstation 2.21 Standard Cryptography Serial Port Reader" which as I read consists a GPK8000 card.
    Is this card a java card?
    Or do I need to buy the reader and java card seperately.
    Any help and insight would be greatly appreciated.
    Thanks.

    I've looked closely at the Cyberflex 32K cards + SDK from Schlumberger.
    My criteria was:
    * Javacard 2.1 support
    * visa open support (or whatever it is called now)
    * complete sdk (develop, test, deploy)
    * exportable
    * upgradable
    * customer support
    I tried to get someone from Gemplus to contact me, but was unable to ever get even an
    email response.
    Schlumberger, on the other hand, won me over with the quick responses over email.
    They offer fairly inexpensive upgrades after you buy the product, and technical support
    is free.
    For simple experimentation, you can get the JavaCard SDK for free. At JavaOne, several
    years ago, they were giving away JavaRings with Card Readers (which presumably
    means these are cheap to buy) from SCM or some company in Texas. You might
    try to get one of these. They don't have much memory, but are an interesting twist
    on the Java Card thing.
    If you want to dive in, the Smart Card SDK from Schlumberger will run you about $499.
    This includes the reader, 5 cards, and the SDK. Likewise, Metrowerks puts out an
    IDE for Java Card which runs about $1200, and may be available as a bundle from
    vendors like Schlumberger.
    dk

  • Support for smart-card authentication in PowerBuilder based application

    Hi, I have an application on PB11.5 with an Oracle DB back-end (11.2g). My DoD customer wants the application to use their DoD CAC Card (Smart Card) to authenticate against the Enterprise - Windows Active Directory domain, currently the application uses user-id\password for user authentication.  Is this something newer versions of PB can support and implement? Thank you.

    You have a couple of choices:
    1.  Depending on how old their workstations are, or if they have ACTIVCLIENT installed, you could call the CAPICOMM ActiveX using OLE commands
    2.  A solution that doesn't require that ActiveX is to use the Smart Card SDK built into newer versions of Windows.  It does require a lot lower level coding though, as you have to issue specific APDU commands to the card and know how to handle the responses.
    I posted a sample of the latter to the NNTP groups back in 2011.  I suppose I should get around to creating a blog entry explaining how to use it.

  • How to Smart Card integrated with database ..im beginner

    Dear,
    im beginner for Technologies Smart Card.. I have ACOS2 and reader ACR30D ..I hope u can helping me..please my question?
    1. How to java or Visul Basic integrated and presenting data on file in card (like name, address, phone number, ..etc)?
    2. Please give me sample project in Visual Basic..?
    its just for finnal test me.
    Thanks for all
    Best Reagard,
    [email protected]

    hello,
    Check the section titled Reference Implementation on this page out.
    http://www.opencard.org/index-downloads.shtml
    Also if you really need codes in VB, this guys have stuff like that
    http://www.motechno.com/x509-sdk.0.html
    Tha development kit MAY be all you need
    All the best,

  • JavaCard + Schlumberger Smart Cards and Terminals

    Have anybody worked on following combination?
    JavaCard + Schlumberger Smart Cards and Terminals (Cyberflex Access SDK 4.4) + IDRBT

    It's certification authority in India.
    Check http://www.idrbt.ac.in
    Can you privide some help about this matter? I am new to this, and It will be greate if you help me.
    Please send your e-mail id on [email protected]
    Thx and Reg,
    Chetan Parekh

  • How to sign  PDF with a smart card or USB token in C# through IAC ?

    Hi,
    My goal is to apply a certification signature (MDP) to a PDF document with a smart card (Belgium identity card) from a C# application.
    I start Acrobat through IAC.
    The JavaScript object apparently can only sign with PKCS12 file (.pfx)...
    To sign a PDF with a smart card I need to develop a plug-in if I am right?
    The samples in the SDK are to get a certificate from the windows certificate store or to write a Third party handler.
    I already get the certificate context (an HCRYPPROV object from windows certificate store)
    How can I create a signature field but mostly sign it? With DigSig I guess, but I’m lost in the API… does
    I have to use DigSigSignDoc ?
    Syntax : void DigSigSignDoc(PDDoc pdDoc, CosObj sigField, ASAtom filterKey)
    The filterKey value for the windows certificate store is “Adobe.PPKMS” but how can I choose my certificate?
    I also have to build a signature reference dictionary i guess?
    What does i have to do and in which order? I can't find any documentation on this.
    There is a more simple way?
    Thank you,
    Goffin
    Fabian

    Hi,
    -download the JDK sample "sdkAddSignature.js"
    -change the sign methode like this :
    Sign = app.trustedFunction (
        function( sigField, DigSigHandlerName )
       try {
       app.beginPriv();
       //the diSigHandler is "Adobe.PPKLite"
       var myEngine = security.getHandler(DigSigHandlerName);
       var ids = myEngine.digitalIDs;
       //choose an id which is installed in the microsoft store
      var oCert = ids.certs[3];
      // for (var i=0; i<ids.certs.length; i++)
      //  console.println("certificat n°"+ i + " " +ids.certs[i]);
      var oParams = {cPassword:"0000" , oEndUserSignCert:oCert }
      if(myEngine.login({cPassword:"0000",oParams:oParams,bUI:false}))
       console.println("OK");
      else
       console.println("Error");
      console.println("sigfield :" + sigField);
    sigField.signatureSign({oSig: myEngine,oInfo: { password: "0000",reason: ACROSDK.sigReason,location: ACROSDK.sigLocation,contactInfo: ACROSDK.sigContactInfo}}); 
    app.endPriv
       } catch (e) {
       console.println("An error occurred: " + e);
    -perform some test using the javascript debugger
    -and finally use IAC to execute the script

  • USB Smart Card reader

    I want to interface with a USB smart card reader to make a cash card system. I'm not going to be writing any code that goes on the smart card itself, just code that runs on a PC. Is the Card SDK what I'm looking for or am I way off base? If it isn't, where should I be looking?

    Hi,
    sureshot324 wrote:
    I want to interface with a USB smart card reader to make a cash card system. I'm not going to be writing any code that goes on the smart card itself, just code that runs on a PC. Is the Card SDK what I'm looking for or am I way off base? If it isn't, where should I be looking?All you need is Java 6. You can then use the javax.smartcardio package to communicate with a PC/SC smart card device. You should able to find examples online. You only need the JCDK if you plan to develop on card code.
    Cheers,
    Shane

  • E-smart card information

    Can you tell me more about e-smart card (this is a smart card with fingerprint)? Is is possible to use Java Applets on it?
    Edited by: 834472 on Feb 7, 2011 6:22 AM

    Hi,
    thanks for the fast answer. Do not want to flood so I am pasting only part of the functions:
         void _stdcall SetHandle(HWND hWnd)     
         void _stdcall SetWindowsLogonHandle(HWND hWnd)     
         int _stdcall DoReconnect()     
         void _stdcall DoCloseSCard()     
         int _stdcall isRunning()     
         void _stdcall SetICardReader(int i)     
         int _stdcall GetICardReader()     
         int _stdcall DoEnroll(const char * strID)     
         int _stdcall DoVerify()     
         int stdcall DoVerifyGetID(char * ID)     
         int _stdcall DoQuery()     
         int _stdcall GetQuery(BYTE * byMax,BYTE * byCur)     7
         int _stdcall DoResetDB ()     
         int _stdcall DoErase()     
         int _stdcall DoUpdateInfo(char * pImageFile,char * pImageInfoFile)     
         int _stdcall DoReadInfo(char * pImageFile,char * pImageInfoFile)     
         int _stdcall DoUploadData(char * pUploadData,int iUploadSize)     
         int _stdcall DoDownloadData(char * pDownloadData,int *iDownloadSize)     
         int _stdcall DoCapture()     
         int _stdcall DoCaptureSave(char * pImageFile)     
         int _stdcall DoModeChange()     
         int _stdcall DoVersion(char * strBoot,char * strApp)     
         int _stdcall DoDebit(unsigned long uPay,unsigned long * uSpare)     
         int _stdcall DoGetCID(char * CID)     
    Note: What's the _stdcall part of declaration for?
    I have not said that the SDK is for visual studio, but the exam provided is for.

  • Problem with CertificateRequest when using a smart card

    Hello,
    I have used the ssl debug statement to determine that ssl server is sending a CertificateRequest and a list of CAs. The smart card is opened via a password and I think X509KeyManagerImpl compares the Issuer of the smart card certificates with the server sent CAs. However since the issuer is an intermediate CA and only the root CA is in this list, the smartcard certificates are rejected. I CAN'T have the intermediate CA place in the ssl server list.
    Using SSLConnect (KeyManager, X509TrustManager, null). The KeyManager is using NSS and the TrustManager is using opensc-pkcs11 via SunPKCS11. The OS is Linux, kernel 2.6.35.10-74.fc14.i686.
    The intermediate CA is in the local cert store.
    The application being used is DavMail.
    Am I correct in stating that the the smart card certificates are checked against the server sent CAs?
    Does anyone know how to get Java to use he local cert store to find the intermediate CA and then verify it against the Root CA in the server sent list?

    Placed in wrong forum. Moved it to Security Java Secure Socket Extension (JSSE)

  • RDS Gateway + Smart Card Error [ The specified user name does not exist.]

    I have the following Windows Server 2008 R2 servers:
    addsdc.contoso.com, AD DS Domain Controller for contoso.com
    adcsca.contoso.com, AD CS Enterprise CA, CDPs/AIAs published externally.
    fileserver.contoso.com, RDS Session Host for Administration enabled
    rdsgateway.contoso.com, RDS Gateway enabled
    tmgserver.contoso.com, 'Publishing' rdsgateway.contoso.com but with pass-through authentication
    And the following Windows 7 PCs:
    internalclient.contoso.com
    externalclient.fabrikam.com
    There's no trust between the domains, the external client is completely separate on the internet but the CA certificate for contoso.com has been installed in the trusted Root CA store. All servers have certificates for secure RDP.
    I enrolled for a custom 'Smart Card Authentication' certificate with Client Authentication and Smart Card Logon EKUs from the CA, stored on my new Gemalto smart card using the Microsoft Base Smart Card CSP.
    From internalclient.contoso.com, I can RDP to fileserver.contoso.com
    using the smart card just fine with no certificate errors.
    From externalclient.fabrikam.com, I can RDP to fileserver.contoso.com
    via rdsgateway.contoso.com using a username and password just fine with no certificate errors.
    From externalclient.fabrikam.com, I can RDP to fileserver.contoso.com
    via rdsgateway.contoso.com using the smart card to authenticate to the gateway, and a username and password to authenticate to the end server, just fine.
    BUT from when using a smart card to authenticate to the end server via the gateway, it fails with:
         The specified user name does not exist. Verify the username and try logging in again. If the problem continues, contact your system administrator or technical support. 
    When I move the client into the internal network and try the connection again (still via the RDS Gateway), it works fine - the only thing I can think of is being outside the network and not being able to contact the AD DS DC for Kerberos is causing the issue
    - but I'm pretty sure this is a supported scenario?
    The smart card works fine internally, the subject of the certificate is the user's common name (John Smith) and the only SAN is
    [email protected] which matches the UPN of the user account as it was auto-enrolled.
    Does anyone have any ideas?

    I had a similar issue where I am using a smart card through a Remote Desktop Gateway. I had to disable Network Level Authentication (NLA) on the destination Remote Desktop Server. If anyone has another way around this, I'd appreciate hearing it. I'd prefer
    to use NLA.

  • How to include the user as a recipient of the email generated when a smart card certificate is issued by an Enrollment Agent on behalf of a user.

    How can I add the requester name in the To: field of the email generated when a Smart Card certificate is issued on his behalf.
    I want to address the possibility of someone (Enrollment Agent) issuing a Smart Card certificate on behalf of a user, assign a PIN and use it without the user's knowledge.
    There doesn't seem to be a way in the registry to define a variable to be used in a manner similar to the TitleArg & TitleFormat way of using %1.
    Jamal Saket OSFI Canada

    Hi,
    Thank you for your question.  
    I am trying to involve someone familiar with this topic to further look at this issue. There might be some time delay. Appreciate your patience. 
    Thank you for your understanding and support.
    TechNet Subscriber Support
    If you are
    TechNet Subscription
    user and have any feedback on our support quality, please send your feedback
    here.
    We
    are trying to better understand customer views on social support experience, so your participation in this
    interview project would be greatly appreciated if you have time.
    Thanks for helping make community forums a great place.

  • How to use Smart Card API's (OCF) in Web Application

    Hi frnds,
    For our new smart card based project, i have few queries,
    1. Can we choose web based application for smart card based projects?
    2. How servlet will communicate with opencard CTListener class?
    3. While the card insertion and remove how the event will be reflet the servlet?
    4. For that is it needed to design the client UI by using Swing?
    5. Without Swing will servlet give all solution for smart card connection and events?
    Rgrds,
    dhaya.

    I am also looking for smart card Authentication using web. Any info really appreciated

  • How to load the .cap file in a Smart Card?

    Dear All,
    Hello..!!
    I am using JCDK 2.2 and have used Eclipse JCDK.
    I have written a simple read/write applet and created a .cap file using Eclipse's Converter Java Card tool.
    What is the next step to be done?
    I have a smart card device and have installed its drivers.
    When do the APDU commands come into picture?
    Expecting help.
    Thanks a lot.
    Regards,
    Suril

    Suril Sarvaiya wrote:
    Hi Shane....
    Thnx a lot....
    I have downloaded GP-Shell 1.4.4
    When I open its application and write any command and press enter ; the app window closes immendiately.
    Can you please help me on this?
    One more thing Shane......
    I'm writig a java class using javax.smartcardio
    I have installed drivers of Omnikey 3021
    but the TerminalFactory is not detecting it?
    Any idea on that?
    Thanks again...
    Regards,
    SurilHi all,
    Is Mr. thread starter has solved his problem?
    I profit this thread to post my question. I'm working with new environment and I have problem loading cap file into my smartcard.
    specification come first :-)
    - My smartcard is said to be JC2.2.1 and GP2.1.1 compatible
    - My code (for testing) is written in Java under eclipse Helios service 2 with JavaCard plugin (for JC2.2.2)
    I compile my code with JDK 1.3 (for compatible version) and using the JC plugin to generate cap file (along with exp and jca).
    My problem is exactly the same as one that was posted in this forum about 2 years ago but is not answered :-)
    [Problem Loading Application to Card |http://forums.oracle.com/forums/thread.jspa?threadID=1749334&tstart=420]
    + I successfully authenticate with smartcard
    + APDU command Install for Load is executed successfully
    + BUT the APDU command LOAD file fails with returned status word is 6424
    For details, I post here my javacard applet code and APDU command executed with my tool:
    package mksAuthSys;
    import javacard.framework.APDU;
    import javacard.framework.Applet;
    import javacard.framework.ISO7816;
    import javacard.framework.ISOException;
    import javacard.framework.OwnerPIN;
    public class Jcardlet extends Applet {
         private final static byte[] myPIN = { (byte) 0x01, (byte) 0x02, (byte) 0x03, (byte) 0x04};
         final static byte Jcardlet_CLA =(byte)0xB0;
         final static byte VERIFY = (byte) 0x20;
         final static byte PIN_TRY_LIMIT =(byte)0x03;
         final static byte MAX_PIN_SIZE =(byte)0x08;
         final static short SW_VERIFICATION_FAILED = 0x6300;
         OwnerPIN pin;
         private Jcardlet() {
              pin = new OwnerPIN(PIN_TRY_LIMIT, MAX_PIN_SIZE);
              pin.update(myPIN, (byte) 0, (byte) 4 );
             register();
         public static void install(byte bArray[], short bOffset, byte bLength)
                   throws ISOException {
              new Jcardlet().register();
         public boolean select() {
              if ( pin.getTriesRemaining() == 0 ) return false;
             return true;     
         public void deselect(){
              pin.reset();
         //@Override
         public void process(APDU apdu) throws ISOException {
              // TODO Auto-generated method stub
              byte[] buffer = apdu.getBuffer();
              if ((buffer[ISO7816.OFFSET_CLA] == 0) &&
                      (buffer[ISO7816.OFFSET_INS] == (byte)(0xA4))) return;          
              if (buffer[ISO7816.OFFSET_CLA] != Jcardlet_CLA)
                    ISOException.throwIt(ISO7816.SW_CLA_NOT_SUPPORTED);          
              switch (buffer[ISO7816.OFFSET_INS]) {
               case VERIFY: verify(apdu);
                 return;
               default: ISOException.throwIt (ISO7816.SW_INS_NOT_SUPPORTED);
         private void verify(APDU apdu) {
              // TODO Auto-generated method stub
             byte[] buffer = apdu.getBuffer();
             // retrieve the PIN data for validation.
             byte byteRead = (byte)(apdu.setIncomingAndReceive());
             // check pin
             // the PIN data is read into the APDU buffer
             // at the offset ISO7816.OFFSET_CDATA
             // the PIN data length = byteRead
             if ( pin.check(buffer, ISO7816.OFFSET_CDATA,byteRead) == false )
               ISOException.throwIt(SW_VERIFICATION_FAILED);          
    }And my APDU command:
    Loading "D:\mksAuthSys.cap" ...
    T - 80F28000024F00
    C - 08A000000003000000079E9000
    ISD AID : A000000003000000
    T - 80E602001508F23412345610000008A00000000300000000000000
    C - 009000
    T - 80E80000C8C482018B010012DECAFFED010204000108F23412345610000002001F0012001F000C001500420012009D0011001C0000009F00020001000402010004001502030107A0000000620101000107A000000062000103000C0108F234123456100001002306001200800301000104040000003DFFFF0030004507009D000510188C0003188F00013D0610088C00028700AD007B000403078B0005188B00067A02308F00073D8C00088B00067A0110AD008B00096104037804780110AD008B000A7A0221198B000B2D1A0300
    C - 6424
    Stopped loading due to unexpected status words.Urgently look forward to hearing from you.
    Thanks a bunch in advance
    Best Regards,
    JDL

  • Remote desktop and smart cards

    I frequently work from home using my mac to access my windows based desktop at the office. I use the microsoft remote desktop v. 1.0.3. for MAC. Now that my agency is moving to smart card identification requirements for access I need to be able to use the smart card at home to sign onto the office desktop.
    The RDC for MAC does not have an option for smart card readers (as opposed to the RDC for windows version). Is there alternative software that would be simple to install on my MAC (I am not an IT sophisticate) that will give me smart card access?

    Microsoft Remote Desktop Connection (RDC) for Mac and Apple Remote Desktop (ARD) are two completely different tools with marginally similar capabilities. Unfortunately, as you've already discovered, neither offers Smart Card capabilities to allow you to authenticate to your Windows computer at work.
    If your Mac is an Intel Mac then you could probably run Windows using Parallels or Boot Camp on your home computer and use the Windows RDC client to make your connection. I don't suggest trying to use VirtualPC if you have a PowerPC Mac simply because your Smart Card reader will most likely be USB and VirtualPC has a bad track record with USB devices.
    Hope this helps!
    bill
      Mac OS X (10.4.10)   1 GHz Powerbook G4

Maybe you are looking for