Changeset 147

Show
Ignore:
Timestamp:
05/16/12 14:12:34 (8 years ago)
Author:
vsilva
Message:

Update SDK Examples. Including example to change EMV-CAP PIN

Location:
middleware-offline/trunk/sdk-examples
Files:
2 added
3 modified

Legend:

Unmodified
Added
Removed
  • middleware-offline/trunk/sdk-examples/sdk-NewVersion/java/src/ExampleSDK.java

    r108 r147  
    4343        private static final String FREE_IMAGE = "FreeImage"; 
    4444        private static final String X_SEC = "xsec_1_6"; 
    45         private static final String PTEID_APPLAYER = "pteid35applayer"; 
    46         private static final String PTEID_CARDLAYER = "pteid35cardlayer"; 
    47         private static final String PTEID_DLGS = "pteid35DlgsWin32"; 
    48         private static final String PTEID_COMMON = "pteid35common"; 
     45        private static final String PTEID_APPLAYER = "pteidapplayer"; 
     46        private static final String PTEID_CARDLAYER = "pteidcardlayer"; 
     47        private static final String PTEID_DLGS = "pteidDlgsWin32"; 
     48        private static final String PTEID_COMMON = "pteidcommon"; 
    4949        private static final String XERCES_C_3_1 = "xerces-c_3_1"; 
    5050        private static final String SSLEAY_32 = "ssleay32"; 
     
    104104 
    105105 
     106 
     107 
     108 
     109        private void changeAuthenticationPIN(){ 
     110 
     111                PTEID_Pins pins; 
     112                PTEID_Pin pin; 
     113                String oldPin=""; 
     114                String newPin=""; 
     115 
     116 
     117                // Verificar o pin actual 
     118                boolean PIN_validated=false; 
     119 
     120 
     121                try { 
     122                        PTEID_ulwrapper wrap = new PTEID_ulwrapper(-1); 
     123                        if (this.idCard.getPins().getPinByPinRef(PTEID_Pin.AUTH_PIN).verifyPin(oldPin, wrap,false)){ 
     124                                PIN_validated=true; 
     125                                System.out.println("PIN OK!!!!\n"); 
     126                        } else{ 
     127                                System.out.println("Wrong Pin! Try again!"); 
     128                        } 
     129                } catch (PTEID_Exception e) { 
     130                        e.printStackTrace(); 
     131                        return ; 
     132                } 
     133 
     134                 
     135                newPin=readInput("Insira o novo PIN de Autenticação:"); 
     136                 
     137                // Alterar o EMV Cap - OTP 
     138                try{ 
     139 
     140                        boolean res = this.idCard.ChangeCapPin(newPin); //Novo PIN 
     141                        System.out.println("O seu pin, foi alterado! Congratulations!");                      
     142 
     143                } 
     144                catch(PTEID_Exception e) 
     145                { 
     146                        //Erros específicos do OTP 
     147                        if (e.GetError() == 0xe1d00d01) 
     148                                System.out.println("Erro de ligacao - OTP"); 
     149                        else if (e.GetError() == 0xe1d00d2) 
     150                                System.out.println("Erro de protocolo - OTP"); 
     151                        else if (e.GetError() == 0xe1d00d3) 
     152                                System.out.println("Erro de Ligacao ao Servidor - Certificados Invalidos - OTP"); 
     153                        else if (e.GetError() == 0xe1d00d4) 
     154                                System.out.println("Erro desconhecido - OTP"); 
     155                        else{ 
     156                                System.out.println("Error number:" + e.GetError() ); 
     157                                e.printStackTrace(); 
     158                        } 
     159                        return ; 
     160 
     161                } 
     162 
     163                // OK - o PIN EMVCAP foi alterado correctamente, vamos agora alterar no cartao! 
     164                 
     165                try { 
     166                        PTEID_ulwrapper wrap = new PTEID_ulwrapper(-1); 
     167                        if (this.idCard.getPins().getPinByPinRef(PTEID_Pin.AUTH_PIN).changePin(oldPin, newPin, wrap,"",false)){ 
     168                                System.out.println("Auth PIN CHANGED!\n"); 
     169                        } 
     170                } catch (PTEID_Exception e) { 
     171                        e.printStackTrace(); 
     172                        return ; 
     173                }                
     174                 
     175                System.out.println("Pin de autenticaçao alterado com sucesso e sicronizado com OTP"); 
     176 
     177        } 
     178 
     179 
     180 
     181        private void test_changeCAP(){ 
     182 
     183                // To change PIN  
     184 
     185                try{ 
     186 
     187                        boolean res = this.idCard.ChangeCapPin("1234"); //Novo PIN 
     188                        System.out.println("O seu pin, foi alterado! Congratulations!");                      
     189 
     190                } 
     191                catch(PTEID_Exception e) 
     192                { 
     193                        //Erros específicos do OTP 
     194                        if (e.GetError() == 0xe1d00d01) 
     195                                System.out.println("Erro de ligacao"); 
     196                        else if (e.GetError() == 0xe1d00d2) 
     197                                System.out.println("Erro de protocolo - OTP"); 
     198 
     199                } 
     200        } 
     201 
     202 
     203        private void test_ChangePin(){ 
     204 
     205                PTEID_Pins pins; 
     206                String oldPass; 
     207                String newPass; 
     208 
     209                try { 
     210                        PTEID_Pin pin = this.idCard.getPins().getPinByPinRef(PTEID_Pin.AUTH_PIN); 
     211                        oldPass=readInput("Insira o PIN de aut antigo:"); 
     212                        newPass=readInput("Insira o PIN de aut novo:"); 
     213                        PTEID_ulwrapper wrap = new PTEID_ulwrapper(-1); 
     214                        if (pin.changePin(oldPass, newPass, wrap,"",false)) { 
     215                                System.out.println("autg PIN CHANGED!\n"); 
     216                        } 
     217                } catch (PTEID_Exception e) { 
     218                        e.printStackTrace(); 
     219                }                
     220        } 
     221 
     222 
     223 
    106224        private void init() { 
    107225                try { 
     
    112230                } 
    113231        } 
    114          
     232 
    115233        private void release() { 
    116234                try { 
     
    120238                } 
    121239        } 
    122          
     240 
    123241        private void InitializeCard() { 
    124242                try { 
     
    128246                } 
    129247        } 
    130          
    131          
     248 
     249 
    132250 
    133251 
     
    241359                String secret; 
    242360                try { 
    243                         pins = this.idCard.getPins(); 
    244                         for (int i = 0; i < pins.count(); i++) { 
    245                                 PTEID_Pin pin = pins.getPinByNumber(i); 
    246                                 if (pin.getLabel().equalsIgnoreCase("PIN da Morada")) { 
    247                                         secret=readInput("Insira o PIN de Morada:"); 
    248                                         PTEID_ulwrapper wrap = new PTEID_ulwrapper(-1); 
    249                                         if (pin.verifyPin(secret, wrap,false)) { 
    250                                                 System.out.println("PIN OK!!!!\n"); 
    251                                         } 
    252                                 } 
     361                        PTEID_Pin pin = this.idCard.getPins().getPinByPinRef(PTEID_Pin.ADDR_PIN); 
     362                        secret=readInput("Insira o PIN da morada:"); 
     363                        PTEID_ulwrapper wrap = new PTEID_ulwrapper(-1); 
     364                        if (pin.verifyPin(secret, wrap,false)) { 
     365                                System.out.println("PIN OK!!!!\n"); 
    253366                        } 
    254367                } catch (PTEID_Exception e) { 
     
    276389                PTEID_Pins pins; 
    277390                try { 
    278                         pins = this.idCard.getPins(); 
    279                         for (int i = 0; i < pins.count(); i++) { 
    280                                 PTEID_Pin pin = pins.getPinByNumber(i); 
    281                                 if (pin.getLabel().equalsIgnoreCase("PIN da Assinatura")) { 
    282                                         System.out.println("Entrei aqui - assinatura"); 
    283                                         PTEID_ulwrapper wrap = new PTEID_ulwrapper(-1); 
    284                                         if (pin.verifyPin("", wrap,false)) { 
    285                                                 System.out.println("PIN OK!!!!\n"); 
    286                                         } 
    287                                 } 
     391                        PTEID_Pin pin = this.idCard.getPins().getPinByPinRef(PTEID_Pin.SIGN_PIN); 
     392                        PTEID_ulwrapper wrap = new PTEID_ulwrapper(-1); 
     393                        if (pin.verifyPin("", wrap,false)) { 
     394                                System.out.println("PIN OK!!!!\n"); 
    288395                        } 
    289396                } catch (PTEID_Exception e) { 
     
    297404                boolean PIN_validated=false; 
    298405                String secret; 
    299                 PTEID_Pins pins; 
    300406 
    301407                try { 
    302408                        this.idCard = this.readerContext.getEIDCard(); 
    303                         pins = this.idCard.getPins(); 
    304                         System.out.println("this.idCard.getPins()"); 
    305                         for (int i = 0; i < pins.count(); i++) { 
    306                                 PTEID_Pin pin = pins.getPinByNumber(i); 
    307                                 if (pin.getLabel().equalsIgnoreCase("PIN da Assinatura")) { 
    308                                         PTEID_ulwrapper wrap = new PTEID_ulwrapper(-1); 
    309                                         while (!PIN_validated){ 
    310                                                 secret=readInput("Insira o PIN de assinatura:"); 
    311                                                 if (pin.verifyPin(secret, wrap,false)) { 
    312                                                         PIN_validated=true; 
    313                                                         System.out.println("PIN OK!!!!\n"); 
    314                                                 }        
    315                                         } 
    316                                 } 
     409                        PTEID_Pin pin = this.idCard.getPins().getPinByPinRef(PTEID_Pin.SIGN_PIN); 
     410                        PTEID_ulwrapper wrap = new PTEID_ulwrapper(-1); 
     411                        while (!PIN_validated){ 
     412                                secret=readInput("Insira o PIN de assinatura:"); 
     413                                if (pin.verifyPin(secret, wrap,false)) { 
     414                                        PIN_validated=true; 
     415                                        System.out.println("PIN OK!!!!\n"); 
     416                                }        
    317417                        } 
    318418                } catch (PTEID_Exception e) { 
     
    326426                PTEID_Pins pins; 
    327427                try { 
    328                         pins = this.idCard.getPins(); 
    329                         for (int i = 0; i < pins.count(); i++) { 
    330                                 PTEID_Pin pin = pins.getPinByNumber(i); 
    331                                 if (pin.getLabel().substring(0, 11).equalsIgnoreCase("PIN da Aute")) { 
    332                                         PTEID_ulwrapper wrap = new PTEID_ulwrapper(-1); 
    333                                         while (!PIN_validated){ 
    334                                                 secret=readInput("Insira o PIN de Autenticação:"); 
    335                                                 if (pin.verifyPin(secret, wrap,false)) { 
    336                                                         PIN_validated=true; 
    337                                                         System.out.println("PIN OK!!!!\n"); 
    338                                                 }        
    339                                         } 
    340                                 } 
     428                        PTEID_Pin pin = this.idCard.getPins().getPinByPinRef(PTEID_Pin.AUTH_PIN); 
     429                        PTEID_ulwrapper wrap = new PTEID_ulwrapper(-1); 
     430                        while (!PIN_validated){ 
     431                                secret=readInput("Insira o PIN de Autenticação:"); 
     432                                if (pin.verifyPin(secret, wrap,false)) { 
     433                                        PIN_validated=true; 
     434                                        System.out.println("PIN OK!!!!\n"); 
     435                                }                
    341436                        } 
    342437                } catch (PTEID_Exception e) { 
     
    348443                PTEID_Pins pins; 
    349444                try { 
    350                         pins = this.idCard.getPins(); 
    351                         for (int i = 0; i < pins.count(); i++) { 
    352                                 PTEID_Pin pin = pins.getPinByNumber(i); 
    353  
    354                                 //String i = pin.getLabel(); 
    355  
    356                                 System.out.println(); 
    357  
    358  
    359                                 if (pin.getLabel().substring(0, 11).equalsIgnoreCase("PIN da Aute")) { 
    360                                         System.out.println("Entrei aqui - autenticacao"); 
    361                                         PTEID_ulwrapper wrap = new PTEID_ulwrapper(-1); 
    362                                         if (pin.verifyPin("", wrap,false)) { 
    363                                                 System.out.println("PIN OK!!!!\n"); 
    364                                         } 
    365                                 } 
     445                        PTEID_Pin pin = this.idCard.getPins().getPinByPinRef(PTEID_Pin.AUTH_PIN); 
     446                        System.out.println("Entrei aqui - autenticacao"); 
     447                        PTEID_ulwrapper wrap = new PTEID_ulwrapper(-1); 
     448                        if (pin.verifyPin("", wrap,false)) { 
     449                                System.out.println("PIN OK!!!!\n"); 
    366450                        } 
    367451                } catch (PTEID_Exception e) { 
     
    383467        private void signXades(){ 
    384468                try{ 
    385                         System.out.println("Here"); 
     469                        System.out.println("Method signXades()"); 
    386470                        String[] file_list={"teste.txt","teste2.txt"}; 
    387471                        idCard.SignXades(file_list,file_list.length,"signature3.zip"); 
     
    395479        private void signXadesT(){ 
    396480                try{ 
     481                        System.out.println("Method signXadesT()"); 
    397482                        String[] file_list={"teste.txt","teste2.txt"}; 
    398483                        idCard.SignXadesT(file_list,file_list.length,"signature-xadest-2.zip"); 
     
    404489        private void verifySignature() 
    405490        { 
    406                 String errors = new String();   
    407                 PTEID_ulwrapper error_size = new PTEID_ulwrapper(0); 
     491                // TO REMOVE - temporary workaround 
     492                String aux_error="";                     
     493                for (int i=0; i<1000;i++){ 
     494                        aux_error+="i"; 
     495                }  
     496 
     497                String errors = new String("11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111");   
     498                PTEID_ulwrapper error_size = new PTEID_ulwrapper(200); 
    408499                boolean result = PTEID_SigVerifier.VerifySignature("signature3.zip", errors, error_size); 
    409500                if (!result) 
     
    415506        private void verifySignatureXadesT() 
    416507        { 
    417                 String errors = new String();   
    418                 PTEID_ulwrapper error_size = new PTEID_ulwrapper(0); 
     508                System.out.println("Method verifySignatureXadesT()"); 
     509 
     510                // TO REMOVE - temporary workaround 
     511                String aux_error="";                     
     512                for (int i=0; i<1000;i++){ 
     513                        aux_error+="i"; 
     514                }  
     515 
     516 
     517                String errors = new String(aux_error);   
     518                PTEID_ulwrapper error_size = new PTEID_ulwrapper(aux_error.length()); 
    419519                boolean result = PTEID_SigVerifier.VerifySignature("signature-xadest-2.zip", errors, error_size); 
    420520                if (!result) 
     
    551651 
    552652                try{     
    553  
    554                          
    555                          
    556653                        verifyAddressPIN(); 
    557                          
     654 
    558655                        System.out.println("A gerar XML Vazio:"); 
    559656                        PTEID_XmlUserRequestedInfo req = new PTEID_XmlUserRequestedInfo(); 
     
    561658                        PTEID_CCXML_Doc result = this.idCard.getXmlCCDoc(req); 
    562659                        System.out.println("Documento XML: \n"+ result.getCCXML()); 
    563                          
    564                         System.out.println("A gerar XML com campo District:"); 
    565                         PTEID_XmlUserRequestedInfo req1 = new PTEID_XmlUserRequestedInfo(); 
     660 
     661 
     662                        System.out.println("A gerar XML com timestamp, servername e serverAdress:"); 
     663                        PTEID_XmlUserRequestedInfo req_1 = new PTEID_XmlUserRequestedInfo("12345678","localhost","127.0.0.1"); 
     664                        //req1.add(XMLUserData.XML_PHOTO); 
     665                        PTEID_CCXML_Doc result_1 = this.idCard.getXmlCCDoc(req_1); 
     666                        System.out.println("Documento XML: \n"+ result_1.getCCXML()); 
     667 
     668                        System.out.println("A gerar XML com campo District e timestamp, servername, serverAdress e Token:"); 
     669                        PTEID_XmlUserRequestedInfo req1 = new PTEID_XmlUserRequestedInfo("1234599","localhost-me","127.0.0.1","jhsadqW1a"); 
    566670                        req1.add(XMLUserData.XML_DISTRICT); 
    567671                        //req1.add(XMLUserData.XML_PHOTO); 
    568672                        PTEID_CCXML_Doc result1 = this.idCard.getXmlCCDoc(req1); 
    569673                        System.out.println("Documento XML: \n"+ result1.getCCXML()); 
    570                          
    571                          
     674 
     675 
    572676                        System.out.println("A gerar XML com campo NIC:"); 
    573677                        PTEID_XmlUserRequestedInfo req2 = new PTEID_XmlUserRequestedInfo(); 
     
    579683                        System.out.println("A gerar XML com todos os campos existentes:"); 
    580684                        PTEID_XmlUserRequestedInfo req3 = new PTEID_XmlUserRequestedInfo(); 
    581                          
     685 
    582686                        req3.add(XMLUserData.XML_ABBR_BUILDING_TYPE); 
    583687                        req3.add(XMLUserData.XML_ABBR_STREET_TYPE); 
     
    631735                        req3.add(XMLUserData.XML_ZIP3); 
    632736                        req3.add(XMLUserData.XML_ZIP4); 
    633                          
     737 
    634738                        req3.add(XMLUserData.XML_NIC); 
    635739                        req3.add(XMLUserData.XML_PHOTO); 
     
    640744                        System.out.println("Documento XML: \n"+ result2.getCCXML()); 
    641745 
    642                  
     746 
    643747                } catch (Exception e){ 
    644748                        e.printStackTrace(); 
     
    646750        } 
    647751 
    648          
     752 
    649753        public static void main(String args[]){ 
    650754                System.out.println("Testing Java SDK"); 
     
    655759                eSDK.getSmartCardReaders(); 
    656760                eSDK.InitializeCard(); 
    657                  
     761 
     762                eSDK.changeAuthenticationPIN(); 
     763 
     764                System.out.println("Ja sai do metodo k mexe com o OTP"); 
     765 
     766 
     767                eSDK.test_ChangePin(); 
     768 
    658769                eSDK.generateXML(); 
    659                  
    660                  
     770 
     771 
    661772                eSDK.dumpID(); 
    662773 
    663                  
     774 
    664775 
    665776                eSDK.verifyAddressPIN(); 
    666777                eSDK.dumpAddress(); 
    667778                //eSDK.listPins(); 
    668                  
     779 
    669780                // Pins Operations 
    670781                //eSDK.verifyPins(); 
     
    675786                eSDK.verifySignPINNoWindow(); 
    676787                eSDK.signXades();                
    677                  
    678                  
     788                eSDK.verifySignature();  
     789 
    679790                eSDK.verifySignPINNoWindow(); 
    680791                eSDK.signXadesT(); 
     
    708819                Utils.writeToFile(); 
    709820                 */ 
    710                  
     821 
    711822                eSDK.release(); 
    712                  
     823 
    713824        } 
    714825 
  • middleware-offline/trunk/sdk-examples/sdk-NewVersion/testWebLibs.sh

    r94 r147  
    11#!/bin/bash 
    22 
     3# ARCH SHOULD HAVE THE VALUES "32" or "64" 
     4ARCH=64 
    35 
    4 URL_LIBS_TO_TEST=http://projects.caixamagica.pt/projects/cartaocidadao/repository/middleware-offline/builds/2012-03-06/caixamagica-16-32/pteid-pkg-web.tar.gz 
     6URL_LIBS_TO_TEST=http://projects.caixamagica.pt/projects/cartaocidadao/repository/middleware-offline/builds/2012-05-09/caixamagica-16-32/pteid-pkg-web.tar.gz 
    57 
    68 
     
    1719tar xzvf pkg_to_test.tar.gz 
    1820 
     21## Export native libs 
     22svn export http://projects.caixamagica.pt/projects/cartaocidadao/repository/middleware-offline/builds/1_native-libs/linux-$ARCH 
     23mv linux-$ARCH/* pteid-pkg/lib 
    1924 
    2025## Export suite-tests to run tests on SDK: 
  • middleware-offline/trunk/sdk-examples/sdk-compatibility/java/src/Makefile

    r60 r147  
    1515 
    1616new: 
    17         javac -cp .:./pteidlibj.jar:./pteid35libJava.jar NewVersionSDK.java 
     17        javac -cp .:./pteidlibj.jar:./pteidlibJava.jar NewVersionSDK.java 
    1818 
    1919run-new: 
    20         java -Djava.library.path=/usr/local/lib/pteid_jni:/usr/local/lib/ -cp .:./pteidlibj.jar:./pteid35libJava.jar NewVersionSDK 
     20        java -Djava.library.path=/usr/local/lib/pteid_jni:/usr/local/lib/ -cp .:./pteidlibj.jar:./pteidlibJava.jar NewVersionSDK