Changeset 11

Show
Ignore:
Timestamp:
11/28/11 02:32:13 (9 years ago)
Author:
vsilva
Message:

Fixing and improving some aspects related with cache, certificates, csp and minidriver.

Location:
middleware-offline/trunk/_src/eidmw
Files:
6 removed
28 modified

Legend:

Unmodified
Added
Removed
  • middleware-offline/trunk/_src/eidmw/CSP/pteid35CSP.vcproj

    r5 r11  
    22<VisualStudioProject 
    33        ProjectType="Visual C++" 
    4         Version="8.00" 
     4        Version="8,00" 
    55        Name="CSP" 
    66        ProjectGUID="{D0076DE3-8E35-4129-A682-2E9F8E72A152}" 
     
    6868                                AdditionalOptions="/def:&quot;.\pteidlib.def&quot;" 
    6969                                AdditionalDependencies="Crypt32.lib pteid35DlgsWin32D.lib pteid35commonD.lib pteid35cardlayerD.lib" 
    70                                 OutputFile="..\_Binaries35\$(ConfigurationName)\pteid35$(ProjectName)lib.dll" 
     70                                OutputFile="..\_Binaries35\$(ConfigurationName)\beid$(ProjectName)lib.dll" 
    7171                                LinkIncremental="2" 
    7272                                AdditionalLibraryDirectories="..\_Binaries35/$(ConfigurationName)" 
     
    231231                                AdditionalOptions="/def:&quot;.\pteidlib.def&quot;" 
    232232                                AdditionalDependencies="Crypt32.lib pteid35DlgsWin32.lib pteid35common.lib pteid35cardlayer.lib" 
    233                                 OutputFile="..\_Binaries35\$(ConfigurationName)\pteid35$(ProjectName)lib.dll" 
     233                                OutputFile="..\_Binaries35\$(ConfigurationName)\beid$(ProjectName)lib.dll" 
    234234                                LinkIncremental="1" 
    235235                                AdditionalLibraryDirectories="..\_Binaries35/$(ConfigurationName)" 
     
    263263                        <Tool 
    264264                                Name="VCPostBuildEventTool" 
    265                                 CommandLine="copy ..\_Binaries35\$(ConfigurationName)\pteid35CSPlib.dll ..\_Binaries35\$(ConfigurationName)\pteidCSPlib.dll" 
    266265                        /> 
    267266                </Configuration> 
     
    314313                                AdditionalOptions="/def:&quot;.\pteidlib.def&quot;" 
    315314                                AdditionalDependencies="Crypt32.lib pteid35DlgsWin32.lib pteid35common.lib pteid35cardlayer.lib" 
    316                                 OutputFile="..\_Binaries35\$(PlatformName)\$(ConfigurationName)\pteid35$(ProjectName)lib.dll" 
     315                                OutputFile="..\_Binaries35\$(PlatformName)\$(ConfigurationName)\beid$(ProjectName)lib.dll" 
    317316                                LinkIncremental="1" 
    318317                                AdditionalLibraryDirectories="..\_Binaries35\$(PlatformName)\$(ConfigurationName)" 
     
    346345                        <Tool 
    347346                                Name="VCPostBuildEventTool" 
    348                                 CommandLine="copy ..\_Binaries35\$(PlatformName)\$(ConfigurationName)\pteid35CSPlib.dll ..\_Binaries35\$(PlatformName)\$(ConfigurationName)\pteidCSP.dll" 
    349347                        /> 
    350348                </Configuration> 
     
    363361                        </File> 
    364362                        <File 
     363                                RelativePath=".\csp.cpp" 
     364                                > 
     365                        </File> 
     366                        <File 
     367                                RelativePath=".\csperr.cpp" 
     368                                > 
     369                        </File> 
     370                        <File 
     371                                RelativePath=".\csputil.cpp" 
     372                                > 
     373                        </File> 
     374                        <File 
     375                                RelativePath=".\ProviderAlgorithms.cpp" 
     376                                > 
     377                        </File> 
     378                        <File 
     379                                RelativePath=".\ProviderContainers.cpp" 
     380                                > 
     381                        </File> 
     382                        <File 
     383                                RelativePath=".\ProviderContext.cpp" 
     384                                > 
     385                        </File> 
     386                        <File 
     387                                RelativePath=".\ProviderContextPool.cpp" 
     388                                > 
     389                        </File> 
     390                        <File 
     391                                RelativePath=".\ProviderHash.cpp" 
     392                                > 
     393                        </File> 
     394                        <File 
    365395                                RelativePath=".\pteidlib.def" 
    366                                 > 
    367                         </File> 
    368                         <File 
    369                                 RelativePath=".\csp.cpp" 
    370                                 > 
    371                         </File> 
    372                         <File 
    373                                 RelativePath=".\csperr.cpp" 
    374                                 > 
    375                         </File> 
    376                         <File 
    377                                 RelativePath=".\csputil.cpp" 
    378                                 > 
    379                         </File> 
    380                         <File 
    381                                 RelativePath=".\ProviderAlgorithms.cpp" 
    382                                 > 
    383                         </File> 
    384                         <File 
    385                                 RelativePath=".\ProviderContainers.cpp" 
    386                                 > 
    387                         </File> 
    388                         <File 
    389                                 RelativePath=".\ProviderContext.cpp" 
    390                                 > 
    391                         </File> 
    392                         <File 
    393                                 RelativePath=".\ProviderContextPool.cpp" 
    394                                 > 
    395                         </File> 
    396                         <File 
    397                                 RelativePath=".\ProviderHash.cpp" 
    398396                                > 
    399397                        </File> 
  • middleware-offline/trunk/_src/eidmw/_Builds/PteidEasyBuild.sln

    r5 r11  
    8888EndProject 
    8989Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "PteidMW35_en", "..\misc\Wix_MW35\MW35Wix\PteidMW35_en.wixproj", "{65FE7CF6-CAF6-4104-8320-58801209E5DA}" 
     90        ProjectSection(ProjectDependencies) = postProject 
     91                {49962208-2A65-41A4-9EC2-ABB95DC041F4} = {49962208-2A65-41A4-9EC2-ABB95DC041F4} 
     92                {7B4D3F36-6FB1-423D-A71F-822AF8DA3036} = {7B4D3F36-6FB1-423D-A71F-822AF8DA3036} 
     93                {62481BE6-49B5-48EA-A11E-BC77761ED0E2} = {62481BE6-49B5-48EA-A11E-BC77761ED0E2} 
     94        EndProjectSection 
     95EndProject 
     96Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "PteidMW35_pt", "..\misc\Wix_MW35\MW35Wix\PteidMW35_pt.wixproj", "{df6e1cdc-9689-4a91-b60a-863e3baf5a57}" 
    9097        ProjectSection(ProjectDependencies) = postProject 
    9198                {49962208-2A65-41A4-9EC2-ABB95DC041F4} = {49962208-2A65-41A4-9EC2-ABB95DC041F4} 
     
    612619                {13BA0068-A852-4123-84D8-ED786D196991}.Release|x86.ActiveCfg = Release|x86 
    613620                {13BA0068-A852-4123-84D8-ED786D196991}.Release|x86.Build.0 = Release|x86 
     621                {44081F61-1BC4-42EA-B538-FDF9DE5F19B9}.Debug|Any CPU.ActiveCfg = Debug|Win32 
     622                {44081F61-1BC4-42EA-B538-FDF9DE5F19B9}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 
     623                {44081F61-1BC4-42EA-B538-FDF9DE5F19B9}.Debug|Mixed Platforms.Build.0 = Debug|Win32 
     624                {44081F61-1BC4-42EA-B538-FDF9DE5F19B9}.Debug|Win32.ActiveCfg = Debug|Win32 
     625                {44081F61-1BC4-42EA-B538-FDF9DE5F19B9}.Debug|Win32.Build.0 = Debug|Win32 
     626                {44081F61-1BC4-42EA-B538-FDF9DE5F19B9}.Debug|x64.ActiveCfg = Debug|Win32 
     627                {44081F61-1BC4-42EA-B538-FDF9DE5F19B9}.Debug|x86.ActiveCfg = Debug|Win32 
     628                {44081F61-1BC4-42EA-B538-FDF9DE5F19B9}.Release|Any CPU.ActiveCfg = Release|Win32 
     629                {44081F61-1BC4-42EA-B538-FDF9DE5F19B9}.Release|Mixed Platforms.ActiveCfg = Release|Win32 
     630                {44081F61-1BC4-42EA-B538-FDF9DE5F19B9}.Release|Mixed Platforms.Build.0 = Release|Win32 
     631                {44081F61-1BC4-42EA-B538-FDF9DE5F19B9}.Release|Win32.ActiveCfg = Release|Win32 
     632                {44081F61-1BC4-42EA-B538-FDF9DE5F19B9}.Release|Win32.Build.0 = Release|Win32 
     633                {44081F61-1BC4-42EA-B538-FDF9DE5F19B9}.Release|x64.ActiveCfg = Release|Win32 
     634                {44081F61-1BC4-42EA-B538-FDF9DE5F19B9}.Release|x86.ActiveCfg = Release|Win32 
     635                {DF6E1CDC-9689-4A91-B60A-863E3BAF5A57}.Debug|Any CPU.ActiveCfg = Debug|x86 
     636                {DF6E1CDC-9689-4A91-B60A-863E3BAF5A57}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 
     637                {DF6E1CDC-9689-4A91-B60A-863E3BAF5A57}.Debug|Mixed Platforms.Build.0 = Debug|x86 
     638                {DF6E1CDC-9689-4A91-B60A-863E3BAF5A57}.Debug|Win32.ActiveCfg = Debug|x86 
     639                {DF6E1CDC-9689-4A91-B60A-863E3BAF5A57}.Debug|x64.ActiveCfg = Debug|x86 
     640                {DF6E1CDC-9689-4A91-B60A-863E3BAF5A57}.Debug|x86.ActiveCfg = Debug|x86 
     641                {DF6E1CDC-9689-4A91-B60A-863E3BAF5A57}.Debug|x86.Build.0 = Debug|x86 
     642                {DF6E1CDC-9689-4A91-B60A-863E3BAF5A57}.Release|Any CPU.ActiveCfg = Release|x86 
     643                {DF6E1CDC-9689-4A91-B60A-863E3BAF5A57}.Release|Mixed Platforms.ActiveCfg = Release|x86 
     644                {DF6E1CDC-9689-4A91-B60A-863E3BAF5A57}.Release|Mixed Platforms.Build.0 = Release|x86 
     645                {DF6E1CDC-9689-4A91-B60A-863E3BAF5A57}.Release|Win32.ActiveCfg = Release|x86 
     646                {DF6E1CDC-9689-4A91-B60A-863E3BAF5A57}.Release|x64.ActiveCfg = Release|x86 
     647                {DF6E1CDC-9689-4A91-B60A-863E3BAF5A57}.Release|x86.ActiveCfg = Release|x86 
     648                {DF6E1CDC-9689-4A91-B60A-863E3BAF5A57}.Release|x86.Build.0 = Release|x86 
    614649        EndGlobalSection 
    615650        GlobalSection(SolutionProperties) = preSolution 
  • middleware-offline/trunk/_src/eidmw/_Builds/pteidversions.h

    r5 r11  
    1111// To specified in the .rc files 
    1212 
    13 #define PTEID_COMPANY_NAME      "Belgian Government" 
    14 #define PTEID_COPYRIGHT         "Copyright (C) 2010" 
     13#define PTEID_COMPANY_NAME      "Portuguese Government" 
     14#define PTEID_COPYRIGHT         "Copyright (C) 2010-2011" 
    1515#define PTEID_PRODUCT_NAME      "Portugal eID MiddleWare" 
    1616 
  • middleware-offline/trunk/_src/eidmw/applayer/APLCardPteid.cpp

    r5 r11  
    6060        m_fileCertAuthentication=NULL; 
    6161        m_fileCertSignature=NULL; 
    62         m_fileCertCA=NULL; 
     62        m_fileCertRootSign=NULL; 
    6363        m_fileCertRoot=NULL; 
     64        m_fileCertRootAuth=NULL; 
    6465} 
    6566 
     
    159160        } 
    160161 
    161         if(m_fileCertCA) 
    162         { 
    163                 delete m_fileCertCA; 
    164                 m_fileCertCA=NULL; 
     162        if(m_fileCertRootAuth) 
     163        { 
     164                delete m_fileCertRootAuth; 
     165                m_fileCertRootAuth=NULL; 
     166        } 
     167 
     168        if(m_fileCertRootSign) 
     169        { 
     170                delete m_fileCertRootSign; 
     171                m_fileCertRootSign=NULL; 
    165172        } 
    166173 
     
    885892                        } 
    886893 
    887                         if(!m_fileCertCA) 
     894                        if(!m_fileCertRootAuth) 
    888895                        { 
    889                                 m_fileCertCA=new APL_CardFile_Certificate(this,PTEID_FILE_CERT_CA); 
     896                                m_fileCertRootAuth=new APL_CardFile_Certificate(this,PTEID_FILE_CERT_ROOT_AUTH); 
    890897                                //If status ok, we add the certificate to the store 
    891                                 if(m_fileCertCA->getStatus(true)==CARDFILESTATUS_OK) 
     898                                if(m_fileCertRootAuth->getStatus(true)==CARDFILESTATUS_OK) 
    892899                                { 
    893                                         if(NULL == (getCertificates()->addCert(m_fileCertCA,APL_CERTIF_TYPE_CA,true,false,m_certificateCount,NULL,NULL))) 
     900                                        if(NULL == (getCertificates()->addCert(m_fileCertRootAuth,APL_CERTIF_TYPE_ROOT_AUTH,true,false,m_certificateCount,NULL,NULL))) 
     901                                                throw CMWEXCEPTION(EIDMW_ERR_CHECK); 
     902                                        m_certificateCount++; 
     903                                } 
     904                        } 
     905 
     906                        if(!m_fileCertRootSign) 
     907                        { 
     908                                m_fileCertRootSign=new APL_CardFile_Certificate(this,PTEID_FILE_CERT_ROOT_SIGN); 
     909                                //If status ok, we add the certificate to the store 
     910                                if(m_fileCertRootSign->getStatus(true)==CARDFILESTATUS_OK) 
     911                                { 
     912                                        if(NULL == (getCertificates()->addCert(m_fileCertRootSign,APL_CERTIF_TYPE_ROOT_SIGN,true,false,m_certificateCount,NULL,NULL))) 
    894913                                                throw CMWEXCEPTION(EIDMW_ERR_CHECK); 
    895914                                        m_certificateCount++; 
  • middleware-offline/trunk/_src/eidmw/applayer/APLCardPteid.h

    r5 r11  
    217217        APL_CardFile_Certificate *m_fileCertCA; 
    218218        APL_CardFile_Certificate *m_fileCertRoot; 
     219        APL_CardFile_Certificate *m_fileCertRootAuth; 
     220        APL_CardFile_Certificate *m_fileCertRootSign; 
    219221 
    220222        static APL_AccessWarningLevel m_lWarningLevel; 
  • middleware-offline/trunk/_src/eidmw/applayer/APLCertif.cpp

    r5 r11  
    531531unsigned long APL_Certifs::countCA(bool bOnlyVisible) 
    532532{ 
    533         return countCert(APL_CERTIF_TYPE_CA); 
     533        return countCert(APL_CERTIF_TYPE_ROOT_AUTH); 
    534534} 
    535535 
    536536APL_Certif *APL_Certifs::getCA(unsigned long ulIndex,bool bOnlyVisible) 
    537537{ 
    538         return getCert(APL_CERTIF_TYPE_CA); 
     538        return getCert(APL_CERTIF_TYPE_ROOT_AUTH); 
    539539} 
    540540 
     
    11541154                        switch(m_certP15.ulID) 
    11551155                        { 
    1156                                 case 2: 
    1157                                         m_type=APL_CERTIF_TYPE_AUTHENTICATION; 
    1158                                         break; 
    1159                                 case 3: 
    1160                                         m_type=APL_CERTIF_TYPE_SIGNATURE; 
    1161                                         break; 
    1162                                 case 4: 
    1163                                         m_type=APL_CERTIF_TYPE_CA; 
    1164                                         break; 
     1156                        case 69: 
     1157                                m_type=APL_CERTIF_TYPE_AUTHENTICATION; 
     1158                                break; 
     1159                        case 70: 
     1160                                m_type=APL_CERTIF_TYPE_SIGNATURE; 
     1161                                break; 
     1162                        case 81: 
     1163                                m_type=APL_CERTIF_TYPE_ROOT_AUTH; 
     1164                                break; 
     1165                        case 82: 
     1166                                m_type=APL_CERTIF_TYPE_ROOT; 
     1167                                break; 
     1168                        case 80: 
     1169                                m_type=APL_CERTIF_TYPE_ROOT_SIGN; 
     1170                                break; 
    11651171                        } 
    11661172                } 
     
    12111217void APL_Certif::resetRoot() 
    12121218{ 
    1213         //Make temporary fix to make certificates appear on certain IAS cards 
    1214         if(m_issuer==this || m_issuer==NULL) 
     1219    //Make temporary fix to make certificates appear on certain IAS cards 
     1220    if(m_issuer==this) 
    12151221                m_root=1; 
    12161222        else 
     
    13051311bool APL_Certif::isCA() 
    13061312{ 
    1307         return isType(APL_CERTIF_TYPE_CA); 
     1313        return isType(APL_CERTIF_TYPE_ROOT_AUTH); 
    13081314} 
    13091315 
  • middleware-offline/trunk/_src/eidmw/applayer/APLCertif.h

    r5 r11  
    4242        APL_CERTIF_TYPE_UNKNOWN,                /**< Type unknown */ 
    4343        APL_CERTIF_TYPE_ROOT,                   /**< Root certificate */ 
    44         APL_CERTIF_TYPE_CA,                             /**< CA certificate */ 
     44        APL_CERTIF_TYPE_ROOT_AUTH,              /**< CA certificate */ 
     45        APL_CERTIF_TYPE_ROOT_SIGN,              /**< CA certificate */ 
    4546        APL_CERTIF_TYPE_AUTHENTICATION, /**< Authentication certificate */ 
    4647        APL_CERTIF_TYPE_SIGNATURE,              /**< Signature certificate */ 
  • middleware-offline/trunk/_src/eidmw/applayer/CardPteidDef.h

    r5 r11  
    4141 
    4242#define PTEID_FILE_CERT_AUTHENTICATION                  "3F005F00EF09" 
    43 #define PTEID_FILE_CERT_SIGNATURE                       "3F005F00EF08" 
    44 #define PTEID_FILE_CERT_CA                              "3F005F00EF10" 
    45 #define PTEID_FILE_CERT_ROOT                            "3F005F00EF11" 
     43#define PTEID_FILE_CERT_SIGNATURE                               "3F005F00EF08" 
     44#define PTEID_FILE_CERT_ROOT_AUTH                               "3F005F00EF10" 
     45#define PTEID_FILE_CERT_ROOT                                    "3F005F00EF11" 
     46#define PTEID_FILE_CERT_ROOT_SIGN                               "3F005F00EF0F" 
    4647 
    4748#define PTEID_FILE_CERTS                                        "CERTS"                                 //pseudo file 
  • middleware-offline/trunk/_src/eidmw/applayer/pteid35applayer.vcproj

    r5 r11  
    4646                                BasicRuntimeChecks="3" 
    4747                                RuntimeLibrary="3" 
     48                                StructMemberAlignment="0" 
    4849                                TreatWChar_tAsBuiltInType="true" 
    4950                                UsePrecompiledHeader="0" 
     
    6970                                OutputFile="..\_Binaries35\$(ConfigurationName)\pteid35$(ProjectName)D.dll" 
    7071                                LinkIncremental="2" 
    71                                 AdditionalLibraryDirectories="&quot;..\_Binaries35/$(ConfigurationName)&quot;;&quot;$(PTEID_DIR_OPENSSL_098G)\lib&quot;;..\..\ThirdParty\openssl.0.9.8g\lib;&quot;..\..\ThirdParty\Xerces\Xerces-3.1.0\lib&quot;" 
     72                                AdditionalLibraryDirectories="&quot;..\_Binaries35/$(ConfigurationName)&quot;;&quot;$(PTEID_DIR_OPENSSL_098G)\lib&quot;;&quot;$(PTEID_DIR_XERCES_310)\lib&quot;;..\..\ThirdParty\openssl.0.9.8g\lib;&quot;..\..\ThirdParty\Xerces\Xerces-3.1.0\lib&quot;" 
    7273                                GenerateDebugInformation="true" 
    7374                                SubSystem="2" 
     
    146147                                Name="VCLinkerTool" 
    147148                                LinkLibraryDependencies="false" 
    148                                 AdditionalDependencies="wsock32.lib pteid35DlgsWin32.lib pteid35cardlayer.lib pteid35common.lib libeay32_0_9_8g.lib ssleay32_0_9_8g.lib xerces-c_3.lib" 
     149                                AdditionalDependencies="wsock32.lib pteid35DlgsWin32.lib pteid35cardlayer.lib pteid35common.lib libeay32.lib ssleay32.lib xerces-c_3.lib" 
    149150                                OutputFile="..\_Binaries35\$(ConfigurationName)\pteid35$(ProjectName).dll" 
    150151                                LinkIncremental="1" 
    151                                 AdditionalLibraryDirectories="&quot;..\_Binaries35/$(ConfigurationName)&quot;;&quot;$(PTEID_DIR_OPENSSL_098G)\lib&quot;;..\..\ThirdParty\openssl.0.9.8g\lib;&quot;$(PTEID_DIR_XERCES_310)\lib&quot;;&quot;..\..\ThirdParty\xerces\Xerces-3.1.0\lib&quot;" 
     152                                AdditionalLibraryDirectories="&quot;..\_Binaries35/$(ConfigurationName)&quot;;&quot;$(PTEID_DIR_OPENSSL_098G)\bin&quot;;..\..\ThirdParty\openssl.0.9.8g\bin;&quot;$(PTEID_DIR_XERCES_310)\lib&quot;;&quot;..\..\ThirdParty\xerces\Xerces-3.1.0\lib&quot;" 
    152153                                GenerateDebugInformation="true" 
    153154                                SubSystem="2" 
     
    223224                        </File> 
    224225                        <File 
     226                                RelativePath=".\CardFile.cpp" 
     227                                > 
     228                        </File> 
     229                        <File 
    225230                                RelativePath=".\CardPteid.cpp" 
    226                                 > 
    227                         </File> 
    228                         <File 
    229                                 RelativePath=".\CardFile.cpp" 
    230231                                > 
    231232                        </File> 
     
    269270                        </File> 
    270271                        <File 
     272                                RelativePath=".\APLCardFile.h" 
     273                                > 
     274                        </File> 
     275                        <File 
    271276                                RelativePath=".\APLCardPteid.h" 
    272277                                > 
    273278                        </File> 
    274279                        <File 
    275                                 RelativePath=".\APLCardFile.h" 
    276                                 > 
    277                         </File> 
    278                         <File 
    279280                                RelativePath=".\APLCardSIS.h" 
    280281                                > 
     
    301302                        </File> 
    302303                        <File 
     304                                RelativePath=".\CardFile.h" 
     305                                > 
     306                        </File> 
     307                        <File 
    303308                                RelativePath=".\CardPteid.h" 
    304309                                > 
     
    306311                        <File 
    307312                                RelativePath=".\CardPteidDef.h" 
    308                                 > 
    309                         </File> 
    310                         <File 
    311                                 RelativePath=".\CardFile.h" 
    312313                                > 
    313314                        </File> 
  • middleware-offline/trunk/_src/eidmw/applayer/sslconnection.cpp

    r5 r11  
    2727#include "sslcommon.h" 
    2828#include "sslclient.h" 
    29 #include "sslconnection.h" 
    30  
     29 
     30#include <stdio.h> 
    3131#include <openssl/rand.h> 
    3232#include <openssl/ssl.h> 
     
    3434#include <openssl/engine.h> 
    3535 
    36 /*static char *REQUEST_TEMPLATE= 
    37    "GET / HTTP/1.0\r\nUser-Agent:" 
    38    "EKRClient\r\nHost: %s:%d\r\n\r\n";*/ 
    39  
    40 static const char *REQUEST_TEMPLATE= 
    41                 "POST /CAPPINChange/connect HTTP/1.1\r\nHost: otp.cartaodecidadao.pt\r\nContent-Type: text/plain; charset=UTF-8\r\nContent-Length: 16\r\n\r\n{\"connect\":\"\"}\r\n"; 
     36static const char *FIRST_POST= 
     37    "POST /CAPPINChange/connect HTTP/1.1\nHost: otp.cartaodecidadao.pt\nContent-Type: text/plain; charset=UTF-8\nContent-Length: 16\r\n\r\n{\"connect\":\"\"}\r\n"; 
     38 
     39static const char *SECOND_POST= 
     40    "POST /CAPPINChange/sendParameters HTTP/1.1\r\nHost: otp.cartaodecidadao.pt\r\nContent-Type: text/plain; charset=UTF-8\r\n\r\n\r\n"; 
    4241 
    4342static char *host="otp.cartaodecidadao.pt"; 
    44 //static char *host="localhost"; 
    4543static int port=443; 
    4644static int require_server_auth=1; 
     
    4846static int reconnect=1; 
    4947 
    50 static int http_request(SSL *ssl) 
     48/* Read from the POST and write to the server 
     49   Read from the server and write to the POST 
     50 
     51   we use select() to multiplex 
     52*/  
     53 
     54void read_write_buf(SSL * ssl, int sock, const char * buf, int len)  
    5155{ 
    52         char *request=0; 
    53         char buf[BUFSIZZ]; 
    54         int r; 
    55         int len, request_len; 
    56  
    57         /* Now construct our HTTP request */ 
    58         request_len=strlen(REQUEST_TEMPLATE)+ 
    59                         strlen(host)+6; 
    60         if(!(request=(char *)malloc(request_len))) 
    61                 err_exit((char *)"Couldn't allocate request"); 
    62         snprintf(request,request_len,REQUEST_TEMPLATE, 
    63                         host,port); 
    64  
    65         /* Find the exact request_len */ 
    66         request_len=strlen(request); 
    67  
    68         r=SSL_write(ssl,request,request_len); 
    69         switch(SSL_get_error(ssl,r)){ 
    70         case SSL_ERROR_NONE: 
    71                 if(request_len!=r) 
    72                         err_exit((char *)"Incomplete write!"); 
    73                 break; 
    74         default: 
    75                 berr_exit((char *)"SSL write problem"); 
     56        int width; 
     57        int r,c2sl=0,c2s_offset=0; 
     58        int read_blocked_on_write=0,write_blocked_on_read=0,read_blocked=0; 
     59        fd_set readfds,writefds; 
     60        int shutdown_wait=0; 
     61        char c2s[BUFSIZZ],s2c[BUFSIZZ]; 
     62        int ofcmode; 
     63        int rx_count = 0; 
     64 
     65        /*First we make the socket nonblocking*/ 
     66        ofcmode=fcntl(sock,F_GETFL,0); 
     67        ofcmode|=O_NDELAY; 
     68        if(fcntl(sock,F_SETFL,ofcmode)) 
     69                err_exit("Couldn't make socket nonblocking"); 
     70 
     71 
     72        width=sock+1; 
     73 
     74        /* Check for input on the console*/ 
     75        strcpy(c2s, buf); 
     76        c2sl = strlen(c2s); 
     77        c2s_offset=0; 
     78        printf("Init str bytes (%d): \n---\n string %s\n---\n", c2sl, c2s); 
     79 
     80        while(1){ 
     81                FD_ZERO(&readfds); 
     82                FD_ZERO(&writefds); 
     83 
     84                FD_SET(sock,&readfds); 
     85 
     86                /* If we're waiting for a read on the socket don't 
     87         try to write to the server */ 
     88                if(!write_blocked_on_read){ 
     89                        /* If we have data in the write queue don't try to 
     90           read from stdin */ 
     91                        if(c2sl || read_blocked_on_write) { 
     92                                printf("Using Write FDS only\n"); 
     93                                FD_SET(sock,&writefds); 
     94                        } 
     95                } 
     96 
     97                r=select(width,&readfds,&writefds,0,0); 
     98                if(r==0) 
     99                        continue; 
     100 
     101                /* Now check if there's data to read */ 
     102                if((FD_ISSET(sock,&readfds) && !write_blocked_on_read) || 
     103                                (read_blocked_on_write && FD_ISSET(sock,&writefds))){ 
     104                        do { 
     105                                read_blocked_on_write=0; 
     106                                read_blocked=0; 
     107 
     108                                r=SSL_read(ssl,s2c,BUFSIZZ); 
     109 
     110                                switch(SSL_get_error(ssl,r)){ 
     111                                case SSL_ERROR_NONE: 
     112                                        /* Note: this call could block, which blocks the 
     113                                         entire application. It's arguable this is the 
     114                                         right behavior since this is essentially a terminal 
     115                                         client. However, in some other applications you 
     116                                         would have to prevent this condition */ 
     117                                        fwrite(s2c,1,r,stdout); 
     118                                        fflush(stdout); 
     119 
     120                                        rx_count++; 
     121 
     122                                        /* rx header and body */ 
     123                                        if ( rx_count == 2) 
     124                                                return; 
     125 
     126 
     127                                        /* 
     128                                        if ( r == 14) { 
     129                                                printf(">>>> Success: exiting read_write\n"); 
     130                                                goto end; 
     131                                        } 
     132                                        */ 
     133 
     134                                        break; 
     135                                case SSL_ERROR_ZERO_RETURN: 
     136                                        /* End of data */ 
     137                                        if(!shutdown_wait) 
     138                                                SSL_shutdown(ssl); 
     139                                        goto end; 
     140                                        break; 
     141                                case SSL_ERROR_WANT_READ: 
     142                                        printf("Read block WANT_READ on Write:  SSL_ERROR_WANT_READ\n"); 
     143                                        read_blocked=1; 
     144                                        break; 
     145 
     146                                        /* We get a WANT_WRITE if we're 
     147                                         trying to rehandshake and we block on 
     148                                         a write during that rehandshake. 
     149 
     150                                         We need to wait on the socket to be 
     151                                         writeable but reinitiate the read 
     152                                         when it is */ 
     153                                case SSL_ERROR_WANT_WRITE: 
     154                                        read_blocked_on_write=1; 
     155                                        printf("Read block on Write:  SSL_ERROR_WANT_WRITE\n"); 
     156                                        break; 
     157                                default: 
     158                                        berr_exit("SSL read problem"); 
     159                                } 
     160 
     161                                /* We need a check for read_blocked here because 
     162                                 SSL_pending() doesn't work properly during the 
     163                                 handshake. This check prevents a busy-wait 
     164                                 loop around SSL_read() */ 
     165                        } while (SSL_pending(ssl) && !read_blocked); 
     166                } 
     167 
     168                /* If the socket is writeable... */ 
     169                if((FD_ISSET(sock,&writefds) && c2sl) || 
     170                                (write_blocked_on_read && FD_ISSET(sock,&readfds))) { 
     171                        write_blocked_on_read=0; 
     172 
     173                        /* Try to write */ 
     174                        r=SSL_write(ssl,c2s+c2s_offset,c2sl); 
     175 
     176                        printf("SSL_write: Sent %d bytes\n", r); 
     177 
     178                        switch(SSL_get_error(ssl,r)){ 
     179                        /* We wrote something*/ 
     180                        case SSL_ERROR_NONE: 
     181                                c2sl-=r; 
     182                                c2s_offset+=r; 
     183 
     184                                if (c2sl == 0) { 
     185                                        printf("Finished sending buf\n"); 
     186                                } 
     187                                break; 
     188 
     189                                /* We would have blocked */ 
     190                        case SSL_ERROR_WANT_WRITE: 
     191                                break; 
     192 
     193                                /* We get a WANT_READ if we're 
     194               trying to rehandshake and we block on 
     195               write during the current connection. 
     196 
     197               We need to wait on the socket to be readable 
     198               but reinitiate our write when it is */ 
     199                        case SSL_ERROR_WANT_READ: 
     200                                write_blocked_on_read=1; 
     201                                printf("(SSL_WRITE) Write blocked on WANT_READ on Write\n"); 
     202 
     203                                break; 
     204 
     205                                /* Some other error */ 
     206                        default: 
     207                                berr_exit("SSL write problem"); 
     208                        } 
     209                } 
    76210        } 
    77211 
    78         /* Now read the server's response, assuming 
    79        that it's terminated by a close */ 
    80         while(1){ 
    81                 r=SSL_read(ssl,buf,BUFSIZZ); 
    82                 switch(SSL_get_error(ssl,r)){ 
    83                 case SSL_ERROR_NONE: 
    84                         len=r; 
    85                         break; 
    86                 case SSL_ERROR_WANT_READ: 
    87                         continue; 
    88                 case SSL_ERROR_ZERO_RETURN: 
    89                         goto shutdown; 
    90                 case SSL_ERROR_SYSCALL: 
    91                         fprintf(stderr, 
    92                                         "SSL Error: Premature close\n"); 
    93                         goto done; 
    94                 default: 
    95                         berr_exit((char *)"SSL read problem wclient.c"); 
    96                 } 
    97  
    98                 buf[r] = '\0'; 
    99                 FILE *fp; 
    100                 fwrite(buf,1,len,stdout); 
    101                 fread (buf, 1, len, stdout); 
    102  
    103                 char token[190]; 
    104  
    105                 strncpy (token, buf+180, 67); 
    106                 token[67] = '\0'; 
    107                 printf ("%s", token); 
    108  
    109         } 
    110  
    111         shutdown: 
    112         r=SSL_shutdown(ssl); 
    113         switch(r){ 
    114         case 1: 
    115                 break; /* Success */ 
    116         case 0: 
    117         case -1: 
    118         default: 
    119                 berr_exit((char *)"Shutdown failed"); 
    120         } 
    121  
    122         done: 
    123         SSL_free(ssl); 
    124         free(request); 
    125         return(0); 
     212        end: 
     213        return; 
    126214} 
     215 
     216 
    127217 
    128218int init () 
     
    133223        int sock; 
    134224        extern char *optarg; 
    135         int c; 
    136225 
    137226        SSL_SESSION *sess; 
     
    175264 
    176265        /* Now make our HTTP request */ 
    177         http_request(ssl); 
     266 
     267        printf("\nREQUEST - 1\n"); 
     268        char buf[30000]; 
     269        memset(buf, 0, 30000); 
     270        int len = 0; 
     271        strcpy (buf, FIRST_POST); 
     272        len = strlen(buf); 
     273        read_write_buf(ssl, sock, buf, len); 
     274 
     275        printf("\nREQUEST - 2\n"); 
     276        read_write_buf(ssl, sock, SECOND_POST, len); 
    178277 
    179278        /* Shutdown the socket */ 
     279        SSL_free(ssl); 
    180280        destroy_ctx(ctx); 
    181281        close(sock); 
  • middleware-offline/trunk/_src/eidmw/configure_caixamagica.sh

    r5 r11  
     1#!/bin/bash 
    12### TODO - VERIFICAR OUTRA FORMA PARA QUE NAO SEJAM NECESSARIAS ALTERAÇOES AS  CONFIGURAÇOES DO QMAKE 
    23echo "TODO" 
  • middleware-offline/trunk/_src/eidmw/eidgui/mainwnd.cpp

    r5 r11  
    13291329                message += tr("failed"); 
    13301330        } 
    1331         QMessageBox::information(0,caption,message); 
     1331        m_pTrayIcon->showMessage(caption, message, QSystemTrayIcon::Information); 
    13321332#endif 
    13331333} 
     
    19451945void MainWnd::on_treePIN_itemClicked(QTreeWidgetItem* item, int column) 
    19461946{ 
    1947         if (!m_CI_Data.isDataLoaded()) 
     1947        if (!m_CI_Data.isDataLoaded()) 
    19481948        { 
    19491949                return; 
     
    34883488{ 
    34893489        //Workaround: Make PIN window called only one time 
    3490         pinactivate = 0; 
    34913490 
    34923491        /*if (!m_CI_Data.isDataLoaded()) 
     
    34983497                PTEID_ReaderContext &ReaderContext = ReaderSet.getReaderByName(m_CurrReaderName.toLatin1().data()); 
    34993498 
     3499                 
     3500                QString caption(tr("Identity Card: PIN verification")); 
     3501                 
    35003502                //------------------------------------ 
    35013503                // make always sure a card is present 
    35023504                //------------------------------------ 
    3503                 QString           caption(tr("Identity Card: PIN verification")); 
    3504  
    35053505                if (ReaderContext.isCardPresent()) 
    35063506                { 
    3507                         //QString PinName = m_ui.txtPIN_Name->text(); 
    35083507                        QString PinName = "PIN da Morada"; 
    3509                         if (PinName.length()==0) 
    3510                         { 
    3511                                 //-------------------------- 
    3512                                 // no pin selected in tree 
    3513                                 //-------------------------- 
    3514                                 return false; 
    3515                         } 
    35163508 
    35173509                        PTEID_EIDCard&  Card    = ReaderContext.getEIDCard(); 
     
    35293521                                        //QString                 msg(tr("PIN verification ")); 
    35303522 
    3531                                         QString msg = bResult?tr("PIN verification passed"):tr("PIN verification failed"); 
     3523                                        QString msg = bResult ? tr("PIN verification passed"):tr("PIN verification failed"); 
    35323524                                        if (!bResult) 
    35333525                                        { 
    3534                                                 //-------------------------- 
    3535                                                 // if it remains to -1, then CANCEL was pressed 
    3536                                                 // so, don't give a message 
    3537                                                 //-------------------------- 
    3538                                                 if ((unsigned long)-1!=triesLeft) 
    3539                                                 { 
    35403526                                                        QString nrTriesLeft; 
    35413527                                                        nrTriesLeft.setNum(triesLeft); 
     
    35453531                                                        m_ui.txtPIN_Status->setText(msg); 
    35463532                                                        m_ui.txtPIN_Status->setAccessibleName(msg); 
    3547                                                 } 
    3548                                                 else 
    3549                                                 { 
     3533 
    35503534                                                        pinactivate = 1; 
    35513535                                                        return false; 
    3552                                                 } 
    35533536                                        } 
    35543537                                        else 
    35553538                                        { 
    3556                                                 QString nrTriesLeft; 
    3557                                                 nrTriesLeft.setNum(triesLeft); 
     3539                                                pinactivate = 0; 
    35583540                                                m_ui.txtPIN_Status->setText(tr("Not available")); 
    35593541                                                m_ui.txtPIN_Status->setAccessibleName(tr("Not available")); 
     
    35683550                        QString msg(tr("No card present")); 
    35693551                        QMessageBox::information( this, caption,  msg, QMessageBox::Ok ); 
     3552                        return false; 
    35703553                } 
    35713554        } 
     
    35743557                QString msg(tr("General exception")); 
    35753558                ShowPTEIDError( e.GetError(), msg ); 
     3559                return false; 
    35763560        } 
    35773561        catch (...) 
     
    35793563                QString msg(tr("Unknown exception")); 
    35803564                ShowPTEIDError( 0, msg ); 
     3565                return false; 
    35813566        } 
    35823567        return true; 
     
    40514036        try 
    40524037        { 
    4053                 PTEID_Certificate& certificate = certificates->getRoot(); 
     4038                PTEID_Certificate& certificate = certificates->getCert(2); 
    40544039 
    40554040                short Level=0; 
    40564041                fillCertTree(&certificate,Level,NULL); 
     4042 
     4043                PTEID_Certificate& certificate1 = certificates->getCert(3); 
     4044 
     4045                fillCertTree(&certificate1,Level,NULL); 
    40574046 
    40584047                m_ui.treeCert->expandAll(); 
     
    43354324                QTreeWidgetItem* PinTreeItem = new QTreeWidgetItem( TYPE_PINTREE_ITEM ); 
    43364325 
    4337                 PinTreeItem->setText(COLUMN_PIN_NAME, trUtf8(Pin.getLabel())); 
    4338                 m_ui.treePIN->addTopLevelItem ( PinTreeItem ); 
     4326                std::string pinname = "PIN"; 
     4327 
     4328                if (!DispPinName.toStdString().find(pinname)) 
     4329                { 
     4330                        PinTreeItem->setText(COLUMN_PIN_NAME, trUtf8(Pin.getLabel())); 
     4331                        m_ui.treePIN->addTopLevelItem ( PinTreeItem ); 
     4332                } 
     4333 
    43394334                if (0==PinNr) 
    43404335                { 
     
    43444339        m_ui.treePIN->expandAll(); 
    43454340 
    4346         QList<QTreeWidgetItem*> treeList = m_ui.treePIN->findItems("Basic PIN",Qt::MatchFixedString|Qt::MatchRecursive); 
     4341        QList<QTreeWidgetItem*> treeList = m_ui.treePIN->findItems("PIN ",Qt::MatchContains); 
    43474342        if (treeList.size() > 0) 
    43484343        { 
     
    49834978void MainWnd::refreshTabAddress( void ) 
    49844979{ 
    4985  
     4980        //DEBUG: m_ui.statusBar->showMessage("Pinactivate flag: "+ QString::number(pinactivate), m_STATUS_MSG_TIME); 
    49864981        if (pinactivate == 1) 
    49874982        { 
    4988                 if (addressPINRequest_triggered()) 
    4989                         loadCardDataAddress(); 
    4990         }else{ 
    4991                 loadCardDataAddress(); 
    4992         } 
     4983                if (!addressPINRequest_triggered()) 
     4984                        return; 
     4985        } 
     4986 
     4987        loadCardDataAddress(); 
     4988 
    49934989        tFieldMap& AddressFields = m_CI_Data.m_AddressInfo.getFields(); 
    49944990 
     
    55995595                                { 
    56005596                                        QString cardReader = pPopupEvent->getReaderName(); 
     5597 
     5598                                        //Toggle the Address PIN flag to "false" 
     5599                                        pinactivate = 1; 
    56015600 
    56025601                                        //---------------------------------------------------------- 
  • middleware-offline/trunk/_src/eidmw/eidlib/InternalUtil.cpp

    r5 r11  
    9292                return PTEID_CERTIF_TYPE_ROOT; 
    9393 
    94         case APL_CERTIF_TYPE_CA: 
    95                 return PTEID_CERTIF_TYPE_CA; 
     94        case APL_CERTIF_TYPE_ROOT_AUTH: 
     95                return PTEID_CERTIF_TYPE_ROOT_AUTH; 
    9696 
    9797        case APL_CERTIF_TYPE_AUTHENTICATION: 
  • middleware-offline/trunk/_src/eidmw/eidlib/eidlibCard.cpp

    r5 r11  
    801801PTEID_Certificate &PTEID_EIDCard::getCA() 
    802802{ 
    803         return getCertificates().getCert(PTEID_CERTIF_TYPE_CA); 
     803        return getCertificates().getCert(PTEID_CERTIF_TYPE_ROOT_AUTH); 
    804804} 
    805805 
  • middleware-offline/trunk/_src/eidmw/eidlib/eidlibCrypto.cpp

    r5 r11  
    3838#define INCLUDE_OBJECT_OCSP                     5 
    3939#define INCLUDE_OBJECT_PINSIGN          6 
    40 #define INCLUDE_OBJECT_CACERT           7 
     40#define INCLUDE_OBJECT_ROOTAUTHCERT             12 
    4141#define INCLUDE_OBJECT_AUTHCERT         8 
    4242#define INCLUDE_OBJECT_SIGNCERT         9 
     43#define INCLUDE_OBJECT_ROOTSIGNCERT             10 
    4344 
    4445#define INCLUDE_OBJECT_FIRSTPIN         1000 
     
    638639                        aplType=APL_CERTIF_TYPE_ROOT; 
    639640                        break; 
    640                 case PTEID_CERTIF_TYPE_CA: 
    641                         idxObject=INCLUDE_OBJECT_CACERT; 
    642                         aplType=APL_CERTIF_TYPE_CA; 
     641                case PTEID_CERTIF_TYPE_ROOT_AUTH: 
     642                        idxObject=INCLUDE_OBJECT_ROOTAUTHCERT; 
     643                        aplType=APL_CERTIF_TYPE_ROOT_AUTH; 
    643644                        break; 
    644645                case PTEID_CERTIF_TYPE_AUTHENTICATION: 
     
    650651                        aplType=APL_CERTIF_TYPE_SIGNATURE; 
    651652                        break; 
     653                case PTEID_CERTIF_TYPE_ROOT_SIGN: 
     654                        idxObject=INCLUDE_OBJECT_ROOTSIGNCERT; 
     655                        aplType=APL_CERTIF_TYPE_ROOT_SIGN; 
     656                        break; 
    652657                default: 
    653658                        throw PTEID_ExBadUsage(); 
     
    683688PTEID_Certificate &PTEID_Certificates::getCA() 
    684689{ 
    685         return getCert(PTEID_CERTIF_TYPE_CA); 
     690        return getCert(PTEID_CERTIF_TYPE_ROOT_AUTH); 
    686691} 
    687692 
  • middleware-offline/trunk/_src/eidmw/eidlib/eidlibdefines.h

    r5 r11  
    114114        PTEID_CERTIF_TYPE_UNKNOWN,                      /**< UNKNOWN certificate */ 
    115115        PTEID_CERTIF_TYPE_ROOT,                         /**< Root certificate */ 
    116         PTEID_CERTIF_TYPE_CA,                           /**< CA certificate */ 
     116        PTEID_CERTIF_TYPE_ROOT_SIGN, 
     117        PTEID_CERTIF_TYPE_ROOT_AUTH,                            /**< CA certificate */ 
    117118        PTEID_CERTIF_TYPE_AUTHENTICATION,       /**< Authentication certificate */ 
    118119        PTEID_CERTIF_TYPE_SIGNATURE                     /**< Signature certificate */ 
  • middleware-offline/trunk/_src/eidmw/minidriver/Src/InitAndDeconstruct.c

    r5 r11  
    5858            { 
    5959                                //IAS 
     60                           {{0x3B,0x65,0x00,0x00,0xd0,0x00,0x54,0x01,0x31}, 9}, 
     61                           {{0x3B,0x65,0x00,0x00,0xd0,0x00,0x54,0x01,0x32}, 9}, 
    6062               {{0x3B,0x95,0x95,0x40,0xFF,0xD0,0x00,0x54,0x01,0x31}, 10}, 
    6163                           {{0x3B,0x95,0x95,0x40,0xFF,0xD0,0x00,0x54,0x01,0x32}, 10}, 
     
    131133         if ( memcmp(pCardData->pbAtr, CardAtr[iAtr].pbAtr, pCardData->cbAtr) == 0 ) 
    132134         { 
    133                         if (iAtr > 1) 
     135                        if (iAtr > 3) 
    134136                        { 
    135137                                Is_Gemsafe = 1; //GEMSAFE 
  • middleware-offline/trunk/_src/eidmw/minidriver/Src/PubDataOps.c

    r5 r11  
    342342                        if ( _stricmp("id", pszFileName) == 0)                                      /* /id/id */ 
    343343                        { 
    344                                 BYTE  pbFileID [] = { 0x3f, 0x00, 0xdf, 0x01, 0x40, 0x31}; 
     344                                BYTE  pbFileID [] = { 0x3f, 0x00, 0x5f, 0x00, 0xef, 0x02}; 
    345345                                BYTE cbFileID  = (BYTE)sizeof(pbFileID); 
    346346                                FileFound++; 
     
    410410                        if ( _stricmp("photo", pszFileName) == 0)                                           /* /id/photo */ 
    411411                        { 
    412                                 /*TODO: Most likely the file ID for the photo is wrong... */ 
     412                                /*TODO: Needs to be fixed for PTEid Photo File */ 
    413413                                BYTE  pbFileID [] = { 0x3f, 0x00, 0xdf, 0x01, 0x40, 0x35}; 
    414414                                BYTE cbFileID  = (BYTE)sizeof(pbFileID); 
  • middleware-offline/trunk/_src/eidmw/minidriver/Src/SmartCard.c

    r5 r11  
    2424#include "smartcard.h" 
    2525#include "externalpinui.h" 
     26#include "util.h" 
     27#include "cache.h" 
    2628 
    2729#include <commctrl.h> 
     
    12131215 
    12141216   /* Allocate memory for the target buffer */ 
    1215    *ppbSignature = pCardData->pfnCspAlloc(*pcbSignature); //pfnCspAlloc é o Memory allocator fornecido pelo CSP 
    1216    //*ppbSignature = malloc(*pcbSignature); 
     1217   *ppbSignature = pCardData->pfnCspAlloc(*pcbSignature); 
    12171218 
    12181219   if ( *ppbSignature == NULL ) 
     
    12331234 
    12341235#define WHERE "PteidSignDataGemsafe" 
    1235 /*TODO: To be Tested... */ 
    12361236DWORD PteidSignDataGemsafe(PCARD_DATA pCardData, BYTE pin_id, DWORD cbToBeSigned, PBYTE pbToBeSigned, DWORD *pcbSignature, PBYTE *ppbSignature) 
    12371237{ 
     
    15441544} 
    15451545 
    1546 BOOL checkStatusCode(const char * context, BYTE dwReturn, BYTE SW1, BYTE SW2) 
     1546BOOL checkStatusCode(const char * context, DWORD dwReturn, BYTE SW1, BYTE SW2) 
    15471547{ 
    15481548 
     
    15801580   unsigned char     recvbuf[256]; 
    15811581   unsigned long     recvlen = sizeof(recvbuf); 
     1582   char certPath[25]; 
     1583   const int             max_path = 512; 
    15821584   BYTE              SW1, SW2; 
    15831585 
    15841586   DWORD             cbCertif; 
     1587    
     1588   VENDOR_SPECIFIC * vs; 
     1589   int serial_len = 16; 
     1590   char * filename; 
     1591 
     1592   cbCertif = 2500; //More than enough for any certificate lmedinas dixit... 
     1593   *ppbCertif = pCardData->pfnCspAlloc(cbCertif); 
     1594    
     1595    
     1596   vs = (VENDOR_SPECIFIC*)pCardData->pvVendorSpecific; 
     1597 
     1598   if (!runningUnderService()) 
     1599   { 
     1600           memcpy(certPath, vs->szSerialNumber, serial_len); 
     1601           certPath[serial_len] = translateCertType(dwCertSpec); 
     1602 
     1603           //More than enough for long file paths... 
     1604           filename = pCardData->pfnCspAlloc(max_path); 
     1605 
     1606           getCacheFilePath(certPath, filename, max_path); 
     1607 
     1608           if (readFromCache(filename, *ppbCertif)) 
     1609           { 
     1610                   pCardData->pfnCspFree(filename); 
     1611                   return SCARD_S_SUCCESS; 
     1612           } 
     1613   } 
     1614 
     1615   // Certificate Not Cached 
    15851616 
    15861617   PteidSelectApplet(pCardData); 
     
    16271658        if (!Is_Gemsafe) 
    16281659        { 
    1629         Cmd[2] = 0x09;    //09 00 02  [Cert Filename= EF **] 
     1660        Cmd[2] = 0x09;  
    16301661    Cmd[3] = 0x00; 
    16311662        } 
    16321663        Cmd[4] = 0x02; 
    16331664        Cmd[5] = 0xEF; 
    1634    switch (dwCertSpec) 
    1635    { 
    1636    case CERT_AUTH: 
    1637       Cmd[6] = 0x09; 
    1638       break; 
    1639    case CERT_NONREP: 
    1640       Cmd[6] = 0x08; 
    1641       break; 
    1642    case CERT_CA: 
    1643       Cmd[6] = 0x11; 
    1644       break; 
    1645    case CERT_ROOTCA: 
    1646       Cmd[6] = 0x10; 
    1647       break; 
    1648    } 
     1665    Cmd[6] = translateCertType(dwCertSpec); 
    16491666 
    16501667    memset(recvbuf, 0, sizeof(recvbuf)); 
     
    16591676                CLEANUP(dwReturn); 
    16601677 
    1661    cbCertif = 2500; //More than enough for any certificate lmedinas dixit... 
    1662    *ppbCertif = pCardData->pfnCspAlloc(cbCertif); 
     1678    
    16631679   if ( *ppbCertif == NULL ) 
    16641680   { 
     
    16731689      CLEANUP(dwReturn); 
    16741690   } 
     1691   
     1692        /* Skip caching if running under the Certificate Propagation Service  
     1693           It would be painful to grab the cachedir because the relevant 
     1694           environment variables APPLOCALDATA will point to somewhere under 
     1695           %WINDIR% (i.e. not to user-writable directories) 
     1696        */ 
     1697  if (!runningUnderService()) 
     1698  { 
     1699           LogTrace(LOGTYPE_INFO, WHERE, "certPath: %s", filename); 
     1700           CacheCertificate(filename, *ppbCertif, cbCertif); 
     1701           pCardData->pfnCspFree(filename); 
     1702  } 
    16751703 
    16761704   /* Certificate Length */ 
  • middleware-offline/trunk/_src/eidmw/minidriver/Src/Util.c

    r5 r11  
    2626#include "smartcard.h" 
    2727#include <stdio.h> 
     28#include <Strsafe.h> 
     29#include <direct.h> 
     30#include <errno.h> 
    2831 
    2932/****************************************************************************************************/ 
     33 
     34 
     35void bin2AsciiHex(const unsigned char * pData, char * out, unsigned long ulLen)  
     36{ 
     37        char a_cHexChars[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', 
     38                '9', 'A', 'B', 'C', 'D', 'E', 'F'}; 
     39        char *pszHex = out; 
     40        unsigned long i; 
     41        if(pData != NULL) 
     42        { 
     43                int j = 0; 
     44                for(i = 0; i < ulLen; i++)  
     45                { 
     46                        pszHex[j++] = a_cHexChars[pData[i]>>4 & 0x0F]; 
     47                        pszHex[j++] = a_cHexChars[pData[i] & 0x0F]; 
     48                } 
     49                pszHex[j] = 0; 
     50        } 
     51 
     52} 
     53 
     54BOOL runningUnderService() 
     55{ 
     56        char baseName[512]; 
     57        GetModuleFileName(NULL,(LPTSTR)baseName, sizeof(baseName)); 
     58 
     59        return strstr(baseName, "svchost")!= NULL; 
     60 
     61} 
     62 
     63 
     64BYTE translateCertType(DWORD dwCertSpec) 
     65{ 
     66        switch (dwCertSpec) 
     67        { 
     68        case CERT_AUTH: 
     69                return 0x09; 
     70 
     71        case CERT_NONREP: 
     72                return 0x08; 
     73 
     74        case CERT_CA: 
     75                return 0x11; 
     76                 
     77        case CERT_ROOTCA: 
     78                return 0x10; 
     79        } 
     80 
     81        //It should never happen... 
     82        return 0x00; 
     83} 
     84 
     85 
    3086#define WHERE "PteidGetPubKey" 
    3187DWORD PteidGetPubKey(PCARD_DATA  pCardData, DWORD cbCertif, PBYTE pbCertif, DWORD *pcbPubKey, PBYTE *ppbPubKey) 
  • middleware-offline/trunk/_src/eidmw/minidriver/Src/inc/util.h

    r5 r11  
    2020#ifndef __UTIL_H__ 
    2121#define __UTIL_H__ 
    22  
     22extern void                             bin2AsciiHex(const unsigned char * pData, char * out, unsigned long ulLen);  
    2323extern DWORD            PteidGetPubKey(PCARD_DATA  pCardData, DWORD cbCertif, PBYTE pbCertif, DWORD *pcbPubKey, PBYTE *ppbPubKey); 
    2424extern DWORD            PteidCreateMSRoots(PCARD_DATA  pCardData, DWORD *pcbMSRoots, PBYTE *ppbMSRoots); 
     25extern BYTE                             translateCertType(DWORD dwCertSpec); 
     26extern BOOL runningUnderService(); 
    2527 
    2628#endif 
  • middleware-offline/trunk/_src/eidmw/minidriver/makemsi/makemsi.cmd

    r5 r11  
    1717:: Paths to compiled drivers 
    1818:: We expect libpteidmdrv32_debug.dll, libpteidmdrv32.dll, libpteidmdrv64_debug.dll and libpteidmdrv64.dll  
    19 set BINPATH=../Win32\Debug 
     19set BINPATH=..\Win32\Debug 
    2020 
    2121:: Path to images 
    22 set IMG_PATH=../img 
     22set IMG_PATH=..\img 
    2323 
    2424set BUILDPATH=%~dp0 
     
    3636:: copy drivers. We use the same files for 32 and 64 bit. But we create architecture dependent MSI's 
    3737::copy %BINPATH%\pteidmdrv32_debug.dll %BUILDPATH%\Debug\pteidmdrv32.dll 
    38 copy %BINPATH%\pteidmdrv.dll %BUILDPATH%\Release\pteidmdrv.dll 
     38copy %BINPATH%\pteidmdrv.dll %BUILDPATH%\Release\pteidmdrv32.dll 
    3939::copy %BINPATH%\pteidmdrv64_debug.dll %BUILDPATH%\Debug\pteidmdrv64.dll 
    4040::copy %BINPATH%\pteidmdrv64.dll %BUILDPATH%\Release\pteidmdrv64.dll 
  • middleware-offline/trunk/_src/eidmw/minidriver/makemsi/pteidmdrv.inf

    r5 r11  
    1515 
    1616[Fedict.NTamd64] 
    17 %FedictCardDeviceName%=Fedict64_Install,SCFILTER\CID_a503010101ad1310 
    18 %FedictCardDeviceName%=Fedict64_Install,SCFILTER\CID_a503010101ad1311 
     17%FedictCardDeviceName%=DefaultInstall.NTamd64,SCFILTER\CID_80318065b0831100c883009000 
     18%FedictCardDeviceName%=DefaultInstall.NTamd64,SCFILTER\CID_d000540131 
     19%FedictCardDeviceName%=DefaultInstall.NTamd64,SCFILTER\CID_d000540132 
     20%FedictCardDeviceName%=DefaultInstall.NTamd64,SCFILTER\CID_80318065B08311C0A983009000    
    1921 
    2022[Fedict.NTx86] 
    21 %FedictCardDeviceName%=Fedict32_Install,SCFILTER\CID_a503010101ad1310 
    22 %FedictCardDeviceName%=Fedict32_Install,SCFILTER\CID_a503010101ad1311 
     23%FedictCardDeviceName%=DefaultInstall.NTx86,SCFILTER\CID_80318065b0831100c883009000 
     24%FedictCardDeviceName%=DefaultInstall.NTx86,SCFILTER\CID_d000540131 
     25%FedictCardDeviceName%=DefaultInstall.NTx86,SCFILTER\CID_d000540132 
     26%FedictCardDeviceName%=DefaultInstall.NTx86,SCFILTER\CID_80318065B08311C0A983009000 
    2327 
    2428[Fedict.NTamd64.6.1] 
    25 %FedictCardDeviceName%=Fedict64_61_Install,SCFILTER\CID_a503010101ad1310 
    26 %FedictCardDeviceName%=Fedict64_61_Install,SCFILTER\CID_a503010101ad1311 
     29%FedictCardDeviceName%=DefaultInstall.ntamd64.6.1,SCFILTER\CID_80318065b0831100c883009000 
     30%FedictCardDeviceName%=DefaultInstall.ntamd64.6.1,SCFILTER\CID_d000540131 
     31%FedictCardDeviceName%=DefaultInstall.ntamd64.6.1,SCFILTER\CID_d000540132 
     32%FedictCardDeviceName%=DefaultInstall.ntamd64.6.1,SCFILTER\CID_80318065B08311C0A983009000        
    2733 
    2834[Fedict.NTx86.6.1] 
    29 %FedictCardDeviceName%=Fedict32_61_Install,SCFILTER\CID_a503010101ad1310 
    30 %FedictCardDeviceName%=Fedict32_61_Install,SCFILTER\CID_a503010101ad1311 
     35%FedictCardDeviceName%=DefaultInstall.NTx86.6.1,SCFILTER\CID_80318065b0831100c883009000 
     36%FedictCardDeviceName%=DefaultInstall.NTx86.6.1,SCFILTER\CID_d000540131 
     37%FedictCardDeviceName%=DefaultInstall.NTx86.6.1,SCFILTER\CID_d000540132 
     38%FedictCardDeviceName%=DefaultInstall.NTx86.6.1,SCFILTER\CID_80318065B08311C0A983009000 
    3139 
    3240[DefaultInstall] 
     
    4553AddReg=AddRegWOW64 
    4654AddReg=AddRegDefault64 
     55Include=umpass.inf 
     56Needs=UmPass 
    4757 
    4858[DefaultInstall.NTx86] 
     
    5363CopyFiles=x86_CopyFiles 
    5464AddReg=AddRegDefault32 
     65Include=umpass.inf 
     66Needs=UmPass 
     67 
     68[EstadoPortugues64_61_Install.NT.Services] 
     69Include=umpass.inf 
     70Needs=UmPass.Services 
     71 
     72[DefaultInstall.NTx86.6.1.Services] 
     73Include=umpass.inf 
     74Needs=UmPass.Services 
     75 
     76[DefaultInstall.NTx86.6.1.NT.HW] 
     77Include=umpass.inf 
     78Needs=UmPass.HW 
     79 
     80[DefaultInstall.NTx86.6.1.CoInstallers] 
     81Include=umpass.inf 
     82Needs=UmPass.CoInstallers 
     83 
     84 
     85[DefaultInstall.NTx86.6.1.Interfaces] 
     86Include=umpass.inf 
     87Needs=UmPass.Interfaces 
     88 
    5589 
    5690[SourceDisksFiles] 
    5791; pteidmdrv64.dll=1 
    58 pteidmdrv.dll=1 
     92pteidmdrv32.dll=1 
    5993 
    6094[SourceDisksNames] 
    61951 = %MediaDescription% 
    6296 
    63 [Fedict64_Install.NT] 
    64 CopyFiles=amd64_CopyFiles 
    65 CopyFiles=wow64_CopyFiles 
    66 AddReg=AddRegWOW64 
    67 AddReg=AddRegDefault64 
    68  
    69 [Fedict64_61_Install.NT] 
    70 CopyFiles=amd64_CopyFiles 
    71 CopyFiles=wow64_CopyFiles 
    72 AddReg=AddRegWOW64 
    73 AddReg=AddRegDefault64 
    74 Include=umpass.inf 
    75 Needs=UmPass 
    76  
    77 [Fedict32_Install.NT] 
    78 CopyFiles=x86_CopyFiles 
    79 AddReg=AddRegDefault32 
    80  
    81 [Fedict32_61_Install.NT] 
    82 CopyFiles=x86_CopyFiles 
    83 AddReg=AddRegDefault32 
    84 Include=umpass.inf 
    85 Needs=UmPass 
    86  
    87 [Fedict64_61_Install.NT.Services] 
    88 Include=umpass.inf 
    89 Needs=UmPass.Services 
    90  
    91 [Fedict32_61_Install.NT.Services] 
    92 Include=umpass.inf 
    93 Needs=UmPass.Services 
    94  
    95  
    96 [Fedict64_61_Install.NT.HW] 
    97 Include=umpass.inf 
    98 Needs=UmPass.HW 
    99  
    100 [Fedict64_61_Install.NT.CoInstallers] 
    101 Include=umpass.inf 
    102 Needs=UmPass.CoInstallers 
    103  
    104  
    105 [Fedict64_61_Install.NT.Interfaces] 
    106 Include=umpass.inf 
    107 Needs=UmPass.Interfaces 
    108  
    109  
    110 [Fedict32_61_Install.NT.HW] 
    111 Include=umpass.inf 
    112 Needs=UmPass.HW 
    113  
    114 [Fedict32_61_Install.NT.CoInstallers] 
    115 Include=umpass.inf 
    116 Needs=UmPass.CoInstallers 
    117  
    118  
    119 [Fedict32_61_Install.NT.Interfaces] 
    120 Include=umpass.inf 
    121 Needs=UmPass.Interfaces 
    122  
    123  
     97;FIXME 
    12498[amd64_CopyFiles] 
    125 pteidmdrv.dll  
     99pteidmdrv32.dll  
    126100;,pteidmdrv64.dll 
    127101 
    128102[x86_CopyFiles] 
    129 pteidmdrv.dll 
     103pteidmdrv32.dll 
    130104;,pteidmdrv32.dll 
    131105 
    132106[wow64_CopyFiles] 
    133 pteidmdrv.dll 
     107pteidmdrv32.dll 
    134108 
    135109[AddRegDefault32] 
     
    138112HKLM, %SmartCardName%,"Crypto Provider",0x00000000,"Microsoft Base Smart Card Crypto Provider" 
    139113HKLM, %SmartCardName%,"Smart Card Key Storage Provider",0x00000000,"Microsoft Smart Card Key Storage Provider" 
    140 HKLM, %SmartCardName%,"80000001",0x00000000,"pteidmdrv.dll" 
    141 HKLM, %SmartCardName_1%,"ATR",0x00000001,3B,7D,95,00,00,80,31,80,65,B0,83,11,00,00,83,00,90,00 
    142 HKLM, %SmartCardName_1%,"ATRMask",0x00000001,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,00,00,ff,ff,ff,ff 
     114HKLM, %SmartCardName_1%,"ATR",0x00000001,3B,65,00,00,D0,00,54,01,30 
     115HKLM, %SmartCardName%,"80000001",0x00000000,"pteidmdrv32.dll" 
     116HKLM, %SmartCardName_1%,"ATRMask",0x00000001,ff,ff,ff,ff,ff,ff,ff,ff,fc 
    143117HKLM, %SmartCardName_1%,"Crypto Provider",0x00000000,"Microsoft Base Smart Card Crypto Provider" 
    144118HKLM, %SmartCardName_1%,"Smart Card Key Storage Provider",0x00000000,"Microsoft Smart Card Key Storage Provider" 
    145 HKLM, %SmartCardName_1%,"80000001",0x00000000,"pteidmdrv.dll" 
    146  
     119HKLM, %SmartCardName_1%,"80000001",0x00000000,"pteidmdrv32.dll" 
     120HKLM, %SmartCardName_2%,"ATR",0x00000001,3B,7D,95,00,00,80,31,80,65,B0,83,11,00,00,83,00,90,00 
     121HKLM, %SmartCardName_2%,"ATRMask",0x00000001,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,00,00,ff,ff,ff,ff 
     122HKLM, %SmartCardName_2%,"Crypto Provider",0x00000000,"Microsoft Base Smart Card Crypto Provider" 
     123HKLM, %SmartCardName_2%,"Smart Card Key Storage Provider",0x00000000,"Microsoft Smart Card Key Storage Provider" 
     124HKLM, %SmartCardName_2%,"80000001",0x00000000,"pteidmdrv32.dll" 
    147125 
    148126 
     
    152130HKLM, %SmartCardName%,"Crypto Provider",0x00000000,"Microsoft Base Smart Card Crypto Provider" 
    153131HKLM, %SmartCardName%,"Smart Card Key Storage Provider",0x00000000,"Microsoft Smart Card Key Storage Provider" 
    154 HKLM, %SmartCardName%,"80000001",0x00000000,"pteidmdrv.dll" 
    155 HKLM, %SmartCardName%,"80000100",0x00000000,"en-US,Please enter your PIN;en-EN,Please enter your PIN;nl-BE,Geef uw PIN in;nl-NL,Geef uw PIN in;fr-BE,Entrez votre code PIN;fr-FR,Entrez votre code PIN;de-DE,Bitte geben Sie Ihre PIN ein" 
    156 HKLM, %SmartCardName%,"80000103",0x00000000,"en-US,Please enter your PIN;en-EN,Please enter your PIN;nl-BE,Geef uw PIN in;nl-NL,Geef uw PIN in;fr-BE,Entrez votre code PIN;fr-FR,Entrez votre code PIN;de-DE,Bitte geben Sie Ihre PIN ein" 
     132HKLM, %SmartCardName%,"80000001",0x00000000,"pteidmdrv32.dll" 
    157133 
    158134[AddRegWOW64] 
     
    161137HKLM, %SmartCardNameWOW64%,"Crypto Provider",0x00000000,"Microsoft Base Smart Card Crypto Provider" 
    162138HKLM, %SmartCardNameWOW64%,"Smart Card Key Storage Provider",0x00000000,"Microsoft Smart Card Key Storage Provider" 
    163 HKLM, %SmartCardNameWOW64%,"80000001",0x00000000,"pteidmdrv.dll" 
    164 HKLM, %SmartCardNameWOW64%,"80000100",0x00000000,"en-US,Please enter your PIN;en-EN,Please enter your PIN;nl-BE,Geef uw PIN in;nl-NL,Geef uw PIN in;fr-BE,Entrez votre code PIN;fr-FR,Entrez votre code PIN;de-DE,Bitte geben Sie Ihre PIN ein" 
    165 HKLM, %SmartCardNameWOW64%,"80000103",0x00000000,"en-US,Please enter your PIN;en-EN,Please enter your PIN;nl-BE,Geef uw PIN in;nl-NL,Geef uw PIN in;fr-BE,Entrez votre code PIN;fr-FR,Entrez votre code PIN;de-DE,Bitte geben Sie Ihre PIN ein" 
     139HKLM, %SmartCardNameWOW64%,"80000001",0x00000000,"pteidmdrv32.dll" 
    166140 
    167141[DestinationDirs] 
     
    177151MediaDescription="Portuguese eID Smart Card Minidriver Installation Disk" 
    178152FedictCardDeviceName="Portuguese eID Minidriver for Smart Card" 
    179 SmartCardName="SOFTWARE\Microsoft\Cryptography\Calais\SmartCards\PTeid (IAS)" 
     153SmartCardName="SOFTWARE\Microsoft\Cryptography\Calais\SmartCards\PTeid (IAS) 1" 
     154SmartCardName_1="SOFTWARE\Microsoft\Cryptography\Calais\SmartCards\PTeid (IAS) 2" 
    180155SmartCardNameWOW64="SOFTWARE\Wow6432Node\Microsoft\Cryptography\Calais\SmartCards\Pteid" 
    181156 
    182 SmartCardName_1="SOFTWARE\Microsoft\Cryptography\Calais\SmartCards\PTEid (GemSafe) 1" 
     157SmartCardName_2="SOFTWARE\Microsoft\Cryptography\Calais\SmartCards\PTeid (GemSafe)" 
    183158 
  • middleware-offline/trunk/_src/eidmw/minidriver/pteidmdrv.vcproj

    r5 r11  
    414414                        > 
    415415                        <File 
     416                                RelativePath=".\Src\Cache.c" 
     417                                > 
     418                        </File> 
     419                        <File 
    416420                                RelativePath=".\src\CardAndContProp.c" 
    417421                                > 
     
    475479                        </File> 
    476480                        <File 
     481                                RelativePath=".\Src\inc\cache.h" 
     482                                > 
     483                        </File> 
     484                        <File 
     485                                RelativePath=".\src\inc\cardmod.h" 
     486                                > 
     487                        </File> 
     488                        <File 
     489                                RelativePath=".\src\inc\externalpinui.h" 
     490                                > 
     491                        </File> 
     492                        <File 
     493                                RelativePath=".\src\inc\globmdrv.h" 
     494                                > 
     495                        </File> 
     496                        <File 
     497                                RelativePath=".\src\inc\log.h" 
     498                                > 
     499                        </File> 
     500                        <File 
    477501                                RelativePath=".\src\inc\pteidmdrv.h" 
    478                                 > 
    479                         </File> 
    480                         <File 
    481                                 RelativePath=".\src\inc\cardmod.h" 
    482                                 > 
    483                         </File> 
    484                         <File 
    485                                 RelativePath=".\src\inc\externalpinui.h" 
    486                                 > 
    487                         </File> 
    488                         <File 
    489                                 RelativePath=".\src\inc\globmdrv.h" 
    490                                 > 
    491                         </File> 
    492                         <File 
    493                                 RelativePath=".\src\inc\log.h" 
    494502                                > 
    495503                        </File> 
  • middleware-offline/trunk/_src/eidmw/misc/Wix_MW35/MW35Wix/Product.wxs

    r5 r11  
    2222           Codepage="1252" 
    2323           Version="$(var.ProductVersion)" 
    24            Manufacturer="Belgian Government" 
     24           Manufacturer="Portuguese Government" 
    2525           UpgradeCode="$(var.UpgradeCode)"> 
    2626 
     
    2929             Keywords="Portugal e-ID Middleware Installer" 
    3030             Platform="x86" 
    31              Manufacturer="Belgian Government" 
     31             Manufacturer="Portuguese Government" 
    3232             Compressed="yes" 
    3333             InstallPrivileges="elevated" 
     
    159159      <Directory Id="SystemFolder"> 
    160160        <Directory Id="PTEIDPPDIR" Name="pteidpp"/> 
    161         <Directory Id="SISCARDPLUGINSDIR" Name="siscardplugins"/> 
    162161      </Directory> 
    163162 
     
    474473 
    475474      <Component Id="CSP" Guid="{54153442-D4CE-4DE6-9321-1BAC5DE4C725}" SharedDllRefCount="yes"> 
    476         <File Id="pteidCSP.dll" Name="pteidCSP.dll" KeyPath="yes" Source="..\..\..\_Binaries35\Release\pteidCSP.dll" /> 
    477         <File Id="pteidCSPlib.dll" Name="pteidCSPlib.dll" KeyPath="no" Source="..\..\..\_Binaries35\Release\pteidCSPlib.dll" /> 
     475        <File Id="beidCSP.dll" Name="beidCSP.dll" KeyPath="yes" Source="..\..\..\_Binaries35\Release\beidCSP.dll" /> 
     476        <File Id="beidCSPlib.dll" Name="beidCSPlib.dll" KeyPath="no" Source="..\..\..\_Binaries35\Release\beidCSPlib.dll" /> 
    478477      </Component> 
    479478 
     
    586585    </DirectoryRef> 
    587586     
    588     <DirectoryRef Id="SISCARDPLUGINSDIR"> 
    589       <Component Id="Siscardplugin" Guid="{821ED2E0-9FDB-4a08-9686-DDE65EE3D5E5}" SharedDllRefCount="yes"> 
    590         <File Id="siscardplugin1_BE_EID_35__ACS_ACR38U__.dll" Name="siscardplugin1_BE_EID_35__ACS ACR38U__.dll" KeyPath="yes" Source="..\..\..\_Binaries35\Release\siscardplugin1_BE_EID_35__ACS_ACR38U__.dll" /> 
    591       </Component> 
    592     </DirectoryRef> 
    593  
    594587    <DirectoryRef Id="TARGETDIR"> 
    595588      <Component Id="SCardSvrService" Guid="{C3BC9746-0843-41b2-BDDA-3192772974CE}" Permanent="yes"> 
     
    613606                     Action="createAndRemoveOnUninstall"> 
    614607          <RegistryValue Type="string" Name="80000001" Value="pteidmdrv32.dll" KeyPath="yes"/> 
    615           <RegistryValue Type="binary" Name="ATR" Value="3B959540FFD000540131" KeyPath="no"/> 
     608          <RegistryValue Type="binary" Name="ATR" Value="3B959540FFD000540130" KeyPath="no"/> 
    616609          <RegistryValue Type="binary" Name="ATRMask" Value="fffffffffffffffffffc" KeyPath="no"/> 
    617610          <RegistryValue Type="string" Name="Crypto Provider" Value="Microsoft Base Smart Card Crypto Provider" KeyPath="no"/> 
     
    622615                     Action="createAndRemoveOnUninstall"> 
    623616          <RegistryValue Type="string" Name="80000001" Value="pteidmdrv32.dll" KeyPath="no"/> 
    624           <RegistryValue Type="binary" Name="ATR" Value="3B7D95000080318065B08311C0A983009000" KeyPath="no"/> 
     617          <RegistryValue Type="binary" Name="ATR" Value="3B7D95000080318065B08311000083009000" KeyPath="no"/> 
    625618          <RegistryValue Type="binary" Name="ATRMask" Value="ffffffffffffffffffffffff0000ffffffff" KeyPath="no"/> 
    626619          <RegistryValue Type="string" Name="Crypto Provider" Value="Microsoft Base Smart Card Crypto Provider" KeyPath="no"/> 
     
    633626                     Key="SOFTWARE\Microsoft\Cryptography\Defaults\Provider\Portugal Identity Card CSP" 
    634627                      Action="createAndRemoveOnUninstall"> 
    635           <RegistryValue Type="string" Name="Image Path" Value="pteidcsp.dll" KeyPath="yes"/> 
     628          <RegistryValue Type="string" Name="Image Path" Value="beidcsp.dll" KeyPath="yes"/> 
    636629          <RegistryValue Type="integer" Name="Type" Value="1" /> 
    637630          <RegistryValue 
     
    644637                     Action="createAndRemoveOnUninstall"> 
    645638          <RegistryValue Type="string" Name="Crypto Provider" Value="Portugal Identity Card CSP"/> 
    646           <RegistryValue Type="string" Name="80000001" Value="pteidcsp.dll" KeyPath="no"/> 
     639          <RegistryValue Type="string" Name="80000001" Value="beidcsp.dll" KeyPath="no"/> 
    647640          <RegistryValue Type="binary" Name="ATR" Value="3B959540FFD000540131" KeyPath="no"/> 
    648641          <RegistryValue Type="binary" Name="ATRMask" Value="fffffffffffffffffffc" KeyPath="no"/> 
     
    652645                     Action="createAndRemoveOnUninstall"> 
    653646          <RegistryValue Type="string" Name="Crypto Provider" Value="Portugal Identity Card CSP"/> 
    654           <RegistryValue Type="string" Name="80000001" Value="pteidcsp.dll" KeyPath="no"/> 
     647          <RegistryValue Type="string" Name="80000001" Value="beidcsp.dll" KeyPath="no"/> 
    655648          <RegistryValue Type="binary" Name="ATR" Value="3B7D95000080318065B08311C0A983009000" KeyPath="no"/> 
    656649          <RegistryValue Type="binary" Name="ATRMask" Value="ffffffffffffffffffffffff0000ffffffff" KeyPath="no"/> 
     
    787780      <ComponentRef Id="PinpadLib"/> 
    788781 
    789       <!-- Pteid Siscardplugin dir--> 
    790       <ComponentRef Id="Siscardplugin"/> 
    791  
    792782      <!-- Windows --> 
    793783      <ComponentRef Id="pteidgui.conf"/> 
     
    822812        <!-- Shortcuts --> 
    823813        <ComponentRef Id ="OutlookShortcut"/> 
    824         <Feature Id="Install_Minidriver" Level="0"> 
     814        <Feature Id="Install_Minidriver" Title="!(loc.Minidriver)" Description="!(loc.MinidriverDescr)" Level="0"> 
    825815          <ComponentRef Id="pteidmdrv"/> 
    826816          <ComponentRef Id="CertPropService"/> 
     
    829819          <Condition Level="1">VersionNT >= 600</Condition> 
    830820        </Feature> 
    831         <Feature Id="Install_CSP" Level="1"> 
     821        <Feature Id="Install_CSP" Title="!(loc.CSP)" Description="!(loc.CSPDescr)" Level="1"> 
    832822          <ComponentRef Id="CSP"/> 
    833823          <ComponentRef Id="REGISTERCSP"/> 
     
    927917    <Binary Id="KILLPROCESS" SourceFile="..\..\..\misc\Wix_MW35\Kill_Process\Release\Kill_Process.exe"/> 
    928918--> 
    929     <Binary Id="MarkHidden" SourceFile="..\..\..\misc\Wix_MW35\MarkHidden\Release\MarkHidden.exe"/>    
     919    <Binary Id="MarkHidden" SourceFile="..\..\..\misc\Wix_MW35\MarkHidden\Release\MarkHidden.exe"/> 
    930920    <Binary Id="PTEID_CLEANUP" SourceFile="..\..\..\misc\Wix_MW35\pteidcleanup\Release\pteidcleanup.exe"/> 
    931921  
  • middleware-offline/trunk/_src/eidmw/misc/Wix_MW35/MW35Wix/Product64.wxs

    r5 r11  
    159159      <Directory Id="SystemFolder"> 
    160160        <Directory Id="PTEIDPPDIR" Name="pteidpp"/> 
    161         <Directory Id="SISCARDPLUGINSDIR" Name="siscardplugins"/> 
    162161      </Directory> 
    163162 
     
    594593      </Component> 
    595594    </DirectoryRef> 
    596      
    597     <DirectoryRef Id="SISCARDPLUGINSDIR"> 
    598       <Component Id="Siscardplugin" Guid="{821ED2E0-9FDB-4a08-9686-DDE65EE3D5E5}" SharedDllRefCount="yes"> 
    599         <File Id="siscardplugin1_BE_EID_35__ACS_ACR38U__.dll" Name="siscardplugin1_BE_EID_35__ACS ACR38U__.dll" KeyPath="yes" Source="..\..\..\_Binaries35\Release\siscardplugin1_BE_EID_35__ACS_ACR38U__.dll" /> 
    600       </Component> 
    601     </DirectoryRef> 
    602  
    603595    <DirectoryRef Id="TARGETDIR"> 
    604596      <Component Id="SCardSvrService" Guid="{C3BC9746-0843-41b2-BDDA-3192772974CE}" Permanent="yes"> 
     
    657649          <RegistryValue Type="string" Name="Crypto Provider" Value="Portugal Identity Card CSP"/> 
    658650          <RegistryValue Type="string" Name="80000001" Value="pteidcsp.dll" KeyPath="no"/> 
    659           <RegistryValue Type="binary" Name="ATR" Value="3B959540FFD000540131" KeyPath="no"/> 
     651          <RegistryValue Type="binary" Name="ATR" Value="3B959540FFD000540130" KeyPath="no"/> 
    660652          <RegistryValue Type="binary" Name="ATRMask" Value="fffffffffffffffffffc" KeyPath="no"/> 
    661653        </RegistryKey> 
     
    665657          <RegistryValue Type="string" Name="Crypto Provider" Value="Portugal Identity Card CSP"/> 
    666658          <RegistryValue Type="string" Name="80000001" Value="pteidcsp.dll" KeyPath="no"/> 
    667           <RegistryValue Type="binary" Name="ATR" Value="3B7D95000080318065B08311C0A983009000" KeyPath="no"/> 
     659          <RegistryValue Type="binary" Name="ATR" Value="3B7D95000080318065B08311000083009000" KeyPath="no"/> 
    668660          <RegistryValue Type="binary" Name="ATRMask" Value="ffffffffffffffffffffffff0000ffffffff" KeyPath="no"/> 
    669661        </RegistryKey> 
     
    802794      <ComponentRef Id="PinpadLib"/> 
    803795 
    804       <!-- Pteid Siscardplugin dir--> 
    805       <ComponentRef Id="Siscardplugin"/> 
    806  
    807796      <!-- Windows --> 
    808797      <ComponentRef Id="pteidgui.conf"/> 
  • middleware-offline/trunk/_src/eidmw/misc/Wix_MW35/MW35Wix/Strings-en.wxl

    r5 r11  
    99  <String Id="PteidGui" Overridable="yes">Management Tool</String> 
    1010  <String Id="PteidGuiDescr" Overridable="yes">Read the content of an e-ID card</String> 
     11  <String Id="CSP" Overridable="yes">Cryptographic Service Provider</String> 
     12  <String Id="CSPDescr" Overridable="yes">This module provides Cryptographic Services for applications using the Windows CryptoAPI in Windows XP</String> 
     13  <String Id="Minidriver" Overridable="yes">Smart Card Minidriver</String> 
     14  <String Id="MinidriverDescr" Overridable="yes">This module provides Cryptographic Services for applications using the Windows CryptoAPI in Windows Vista and Seven</String> 
    1115  <String Id="Crypto" Overridable="yes">Cryptographic Module</String> 
    1216  <String Id="CryptoDescr" Overridable="yes">This module is required for using the eID card as an electronic identity card in Internet Explorer, Firefox, etc. or for creating digital signatures in Microsoft Office, OpenOffice.org, Microsoft Outlook, Thunderbird, etc.</String> 
  • middleware-offline/trunk/_src/eidmw/preparePKG.sh

    r5 r11  
    77mkdir -p pteid-pkg/bin 
    88mkdir -p pteid-pkg/eidgui 
     9mkdir -p pteid-pkg/jar 
     10 
     11cp -r lib/*                     pteid-pkg/lib/ 
     12cp -r bin/*                     pteid-pkg/bin/ 
     13cp -r eidgui/*.qm               pteid-pkg/eidgui/ 
     14cp -r jar/pteid35libJava.jar    pteid-pkg/jar/ 
    915 
    1016 
    11 cp -r lib/*             pteid-pkg/lib/ 
    12 cp -r bin/*             pteid-pkg/bin/ 
    13 cp -r eidgui/*.qm       pteid-pkg/eidgui/ 
     17echo "#!/bin/bash" > pteid-pkg/install_pteid.sh 
     18 
     19echo "echo \"Este script instala a aplicação do cartão de cidadao\"" >> pteid-pkg/install_pteid.sh 
     20echo "uid=\`id -u\`"  >> pteid-pkg/install_pteid.sh 
     21echo "if [ \$uid -eq 0 ]"  >> pteid-pkg/install_pteid.sh 
     22echo "then"  >> pteid-pkg/install_pteid.sh 
     23 
     24echo "  install -m 755 -p \"lib/libpteidcommon.so.3.5.5\" \"/usr/local/lib/libpteidcommon.so.3.5.5\"" >> pteid-pkg/install_pteid.sh 
     25echo "  ln -f -s /usr/local/lib/libpteidcommon.so.3.5.5 /usr/local/lib/libpteidcommon.so"  >> pteid-pkg/install_pteid.sh 
     26echo "  ln -f -s /usr/local/lib/libpteidcommon.so.3.5.5 /usr/local/lib/libpteidcommon.so.3"  >> pteid-pkg/install_pteid.sh 
     27echo "  ln -f -s /usr/local/lib/libpteidcommon.so.3.5.5 /usr/local/lib/libpteidcommon.so.3.5"  >> pteid-pkg/install_pteid.sh 
     28 
     29echo "  install -m 755 -p \"lib/libpteiddialogsQT.so.3.5.5\" \"/usr/local/lib/libpteiddialogsQT.so.3.5.5\""  >> pteid-pkg/install_pteid.sh 
     30echo "  ln -s -f /usr/local/lib/libpteiddialogsQT.so.3.5.5 /usr/local/lib/libpteiddialogsQT.so"  >> pteid-pkg/install_pteid.sh   
     31echo "  ln -s -f /usr/local/lib/libpteiddialogsQT.so.3.5.5 /usr/local/lib/libpteiddialogsQT.so.3"  >> pteid-pkg/install_pteid.sh 
     32echo "  ln -s -f /usr/local/lib/libpteiddialogsQT.so.3.5.5 /usr/local/lib/libpteiddialogsQT.so.3.5"  >> pteid-pkg/install_pteid.sh 
     33 
     34 
     35echo "  install -m 755 -p \"bin/pteiddialogsQTsrv\" \"/usr/local/bin/pteiddialogsQTsrv\""  >> pteid-pkg/install_pteid.sh 
     36 
     37echo "  install -m 755 -p \"lib/libpteidcardlayer.so.3.5.5\" \"/usr/local/lib/libpteidcardlayer.so.3.5.5\""  >> pteid-pkg/install_pteid.sh 
     38echo "  ln -s -f /usr/local/lib/libpteidcardlayer.so.3.5.5 /usr/local/lib/libpteidcardlayer.so"  >> pteid-pkg/install_pteid.sh 
     39echo "  ln -s -f /usr/local/lib/libpteidcardlayer.so.3.5.5 /usr/local/lib/libpteidcardlayer.so.3"  >> pteid-pkg/install_pteid.sh 
     40echo "  ln -s -f /usr/local/lib/libpteidcardlayer.so.3.5.5 /usr/local/lib/libpteidcardlayer.so.3.5"  >> pteid-pkg/install_pteid.sh 
     41 
     42echo "  install -m 755 -p \"lib/libcardpluginPteid.so.3.0.1\" \"/usr/local/lib/libcardpluginPteid.so.3.0.1\""  >> pteid-pkg/install_pteid.sh 
     43echo "  ln -s -f /usr/local/lib/libcardpluginPteid.so.3.0.1 /usr/local/lib/libcardpluginPteid.so"  >> pteid-pkg/install_pteid.sh 
     44echo "  ln -s -f /usr/local/lib/libcardpluginPteid.so.3.0.1 /usr/local/lib/libcardpluginPteid.so.3"  >> pteid-pkg/install_pteid.sh 
     45echo "  ln -s -f /usr/local/lib/libcardpluginPteid.so.3.0.1 /usr/local/lib/libcardpluginPteid.so.3.0"  >> pteid-pkg/install_pteid.sh 
     46 
     47echo "  install -m 755 -p \"lib/libcardpluginFull__ACS__.so.3.5.5\" \"/usr/local/lib/libcardpluginFull__ACS__.so.3.5.5\""  >> pteid-pkg/install_pteid.sh 
     48echo "  ln -s -f /usr/local/lib/libcardpluginFull__ACS__.so.3.5.5 /usr/local/lib/libcardpluginFull__ACS__.so"  >> pteid-pkg/install_pteid.sh 
     49echo "  ln -s -f /usr/local/lib/libcardpluginFull__ACS__.so.3.5.5 /usr/local/lib/libcardpluginFull__ACS__.so.3"  >> pteid-pkg/install_pteid.sh 
     50echo "  ln -s -f /usr/local/lib/libcardpluginFull__ACS__.so.3.5.5 /usr/local/lib/libcardpluginFull__ACS__.so.3.5"  >> pteid-pkg/install_pteid.sh 
     51 
     52echo "  install -m 755 -p \"lib/libsiscardplugin1__ACS__.so.3.5.5\" \"/usr/local/lib/libsiscardplugin1__ACS__.so.3.5.5\""  >> pteid-pkg/install_pteid.sh 
     53echo "  ln -s -f /usr/local/lib/libsiscardplugin1__ACS__.so.3.5.5 /usr/local/lib/libsiscardplugin1__ACS__.so"  >> pteid-pkg/install_pteid.sh 
     54echo "  ln -s -f /usr/local/lib/libsiscardplugin1__ACS__.so.3.5.5 /usr/local/lib/libsiscardplugin1__ACS__.so.3 "  >> pteid-pkg/install_pteid.sh 
     55echo "  ln -s -f /usr/local/lib/libsiscardplugin1__ACS__.so.3.5.5 /usr/local/lib/libsiscardplugin1__ACS__.so.3.5"  >> pteid-pkg/install_pteid.sh 
    1456 
    1557 
    1658 
    17 echo "#!/bin/bash" > pteid-pkg/install_pteid.sh 
    18 echo "install -m 755 -p \"lib/libpteidcommon.so.3.5.5\" \"/usr/local/lib/libpteidcommon.so.3.5.5\"" >> pteid-pkg/install_pteid.sh 
    19 echo "ln -f -s /usr/local/lib/libpteidcommon.so.3.5.5 /usr/local/lib/libpteidcommon.so"  >> pteid-pkg/install_pteid.sh 
    20 echo "ln -f -s /usr/local/lib/libpteidcommon.so.3.5.5 /usr/local/lib/libpteidcommon.so.3"  >> pteid-pkg/install_pteid.sh 
    21 echo "ln -f -s /usr/local/lib/libpteidcommon.so.3.5.5 /usr/local/lib/libpteidcommon.so.3.5"  >> pteid-pkg/install_pteid.sh 
     59echo "  install -m 755 -p \"lib/libpteidpkcs11.so.3.5.5\" \"/usr/local/lib/libpteidpkcs11.so.3.5.5\""  >> pteid-pkg/install_pteid.sh 
     60echo "  ln -s -f /usr/local/lib/libpteidpkcs11.so.3.5.5 /usr/local/lib/libpteidpkcs11.so"  >> pteid-pkg/install_pteid.sh 
     61echo "  ln -s -f /usr/local/lib/libpteidpkcs11.so.3.5.5 /usr/local/lib/libpteidpkcs11.so.3"  >> pteid-pkg/install_pteid.sh 
     62echo "  ln -s -f /usr/local/lib/libpteidpkcs11.so.3.5.5 /usr/local/lib/libpteidpkcs11.so.3.5"  >> pteid-pkg/install_pteid.sh 
    2263 
    23 echo "install -m 755 -p \"lib/libpteiddialogsQT.so.3.5.5\" \"/usr/local/lib/libpteiddialogsQT.so.3.5.5\""  >> pteid-pkg/install_pteid.sh 
    24 echo "ln -s -f /usr/local/lib/libpteiddialogsQT.so.3.5.5 /usr/local/lib/libpteiddialogsQT.so"  >> pteid-pkg/install_pteid.sh   
    25 echo "ln -s -f /usr/local/lib/libpteiddialogsQT.so.3.5.5 /usr/local/lib/libpteiddialogsQT.so.3"  >> pteid-pkg/install_pteid.sh 
    26 echo "ln -s -f /usr/local/lib/libpteiddialogsQT.so.3.5.5 /usr/local/lib/libpteiddialogsQT.so.3.5"  >> pteid-pkg/install_pteid.sh 
     64echo "  install -m 755 -p \"lib/libpteidapplayer.so.3.5.5\" \"/usr/local/lib/libpteidapplayer.so.3.5.5\""  >> pteid-pkg/install_pteid.sh 
     65echo "  ln -s -f /usr/local/lib/libpteidapplayer.so.3.5.5 /usr/local/lib/libpteidapplayer.so"  >> pteid-pkg/install_pteid.sh 
     66echo "  ln -s -f /usr/local/lib/libpteidapplayer.so.3.5.5 /usr/local/lib/libpteidapplayer.so.3"  >> pteid-pkg/install_pteid.sh 
     67echo "  ln -s -f /usr/local/lib/libpteidapplayer.so.3.5.5 /usr/local/lib/libpteidapplayer.so.3.5"  >> pteid-pkg/install_pteid.sh 
     68 
     69echo "  install -m 755 -p \"lib/libpteidlib.so.3.5.5\" \"/usr/local/lib/libpteidlib.so.3.5.5\""  >> pteid-pkg/install_pteid.sh 
     70echo "  ln -s -f /usr/local/lib/libpteidlib.so.3.5.5 /usr/local/lib/libpteidlib.so"  >> pteid-pkg/install_pteid.sh 
     71echo "  ln -s -f /usr/local/lib/libpteidlib.so.3.5.5 /usr/local/lib/libpteidlib.so.3"  >> pteid-pkg/install_pteid.sh 
     72echo "  ln -s -f /usr/local/lib/libpteidlib.so.3.5.5 /usr/local/lib/libpteidlib.so.3.5"  >> pteid-pkg/install_pteid.sh 
     73 
     74echo "  install -m 755 -p \"lib/libpteidlibJava_Wrapper.so.3.5.5\" \"/usr/local/lib/libpteidlibJava_Wrapper.so.3.5.5\""  >> pteid-pkg/install_pteid.sh 
     75echo "  ln -s -f /usr/local/lib/libpteidlibJava_Wrapper.so.3.5.5 /usr/local/lib/libpteidlibJava_Wrapper.so"  >> pteid-pkg/install_pteid.sh 
     76echo "  ln -s -f /usr/local/lib/libpteidlibJava_Wrapper.so.3.5.5 /usr/local/lib/libpteidlibJava_Wrapper.so.3"  >> pteid-pkg/install_pteid.sh 
     77echo "  ln -s -f /usr/local/lib/libpteidlibJava_Wrapper.so.3.5.5 /usr/local/lib/libpteidlibJava_Wrapper.so.3.5"  >> pteid-pkg/install_pteid.sh 
    2778 
    2879 
    29 echo "install -m 755 -p \"bin/pteiddialogsQTsrv\" \"/usr/local/bin/pteiddialogsQTsrv\""  >> pteid-pkg/install_pteid.sh 
     80echo "  install -m 755 -p \"jar/pteid35libJava.jar\" \"/usr/local/lib/pteid_jni/\""  >> pteid-pkg/install_pteid.sh 
    3081 
    31 echo "install -m 755 -p \"lib/libpteidcardlayer.so.3.5.5\" \"/usr/local/lib/libpteidcardlayer.so.3.5.5\""  >> pteid-pkg/install_pteid.sh 
    32 echo "ln -s -f /usr/local/lib/libpteidcardlayer.so.3.5.5 /usr/local/lib/libpteidcardlayer.so"  >> pteid-pkg/install_pteid.sh 
    33 echo "ln -s -f /usr/local/lib/libpteidcardlayer.so.3.5.5 /usr/local/lib/libpteidcardlayer.so.3"  >> pteid-pkg/install_pteid.sh 
    34 echo "ln -s -f /usr/local/lib/libpteidcardlayer.so.3.5.5 /usr/local/lib/libpteidcardlayer.so.3.5"  >> pteid-pkg/install_pteid.sh 
    3582 
    36 echo "install -m 755 -p \"lib/libcardpluginPteid.so.3.0.1\" \"/usr/local/lib/libcardpluginPteid.so.3.0.1\""  >> pteid-pkg/install_pteid.sh 
    37 echo "ln -s -f /usr/local/lib/libcardpluginPteid.so.3.0.1 /usr/local/lib/libcardpluginPteid.so"  >> pteid-pkg/install_pteid.sh 
    38 echo "ln -s -f /usr/local/lib/libcardpluginPteid.so.3.0.1 /usr/local/lib/libcardpluginPteid.so.3"  >> pteid-pkg/install_pteid.sh 
    39 echo "ln -s -f /usr/local/lib/libcardpluginPteid.so.3.0.1 /usr/local/lib/libcardpluginPteid.so.3.0"  >> pteid-pkg/install_pteid.sh 
    40  
    41 echo "install -m 755 -p \"lib/libcardpluginFull__ACS__.so.3.5.5\" \"/usr/local/lib/libcardpluginFull__ACS__.so.3.5.5\""  >> pteid-pkg/install_pteid.sh 
    42 echo "ln -s -f /usr/local/lib/libcardpluginFull__ACS__.so.3.5.5 /usr/local/lib/libcardpluginFull__ACS__.so"  >> pteid-pkg/install_pteid.sh 
    43 echo "ln -s -f /usr/local/lib/libcardpluginFull__ACS__.so.3.5.5 /usr/local/lib/libcardpluginFull__ACS__.so.3"  >> pteid-pkg/install_pteid.sh 
    44 echo "ln -s -f /usr/local/lib/libcardpluginFull__ACS__.so.3.5.5 /usr/local/lib/libcardpluginFull__ACS__.so.3.5"  >> pteid-pkg/install_pteid.sh 
    45  
    46 echo "install -m 755 -p \"lib/libsiscardplugin1__ACS__.so.3.5.5\" \"/usr/local/lib/libsiscardplugin1__ACS__.so.3.5.5\""  >> pteid-pkg/install_pteid.sh 
    47 echo "ln -s -f /usr/local/lib/libsiscardplugin1__ACS__.so.3.5.5 /usr/local/lib/libsiscardplugin1__ACS__.so"  >> pteid-pkg/install_pteid.sh 
    48 echo "ln -s -f /usr/local/lib/libsiscardplugin1__ACS__.so.3.5.5 /usr/local/lib/libsiscardplugin1__ACS__.so.3 "  >> pteid-pkg/install_pteid.sh 
    49 echo "ln -s -f /usr/local/lib/libsiscardplugin1__ACS__.so.3.5.5 /usr/local/lib/libsiscardplugin1__ACS__.so.3.5"  >> pteid-pkg/install_pteid.sh 
     83echo "  install -m 755 -p \"bin/pteidgui\" \"/usr/local/bin/pteidgui\""  >> pteid-pkg/install_pteid.sh 
     84echo ""  >> pteid-pkg/install_pteid.sh 
     85echo "  install -m 644 -p \"eidgui/eidmw_de.qm\" \"/usr/local/bin/\""  >> pteid-pkg/install_pteid.sh 
     86echo "  install -m 644 -p \"eidgui/eidmw_en.qm\" \"/usr/local/bin/\""  >> pteid-pkg/install_pteid.sh 
     87echo "  install -m 644 -p \"eidgui/eidmw_fr.qm\" \"/usr/local/bin/\""  >> pteid-pkg/install_pteid.sh 
     88echo "  install -m 644 -p \"eidgui/eidmw_nl.qm\" \"/usr/local/bin/\""  >> pteid-pkg/install_pteid.sh 
    5089 
    5190 
    5291 
    53 echo "install -m 755 -p \"lib/libpteidpkcs11.so.3.5.5\" \"/usr/local/lib/libpteidpkcs11.so.3.5.5\""  >> pteid-pkg/install_pteid.sh 
    54 echo "ln -s -f /usr/local/lib/libpteidpkcs11.so.3.5.5 /usr/local/lib/libpteidpkcs11.so"  >> pteid-pkg/install_pteid.sh 
    55 echo "ln -s -f /usr/local/lib/libpteidpkcs11.so.3.5.5 /usr/local/lib/libpteidpkcs11.so.3"  >> pteid-pkg/install_pteid.sh 
    56 echo "ln -s -f /usr/local/lib/libpteidpkcs11.so.3.5.5 /usr/local/lib/libpteidpkcs11.so.3.5"  >> pteid-pkg/install_pteid.sh 
     92echo "  echo \"Instalação bem sucedida!\"" >> pteid-pkg/install_pteid.sh 
     93echo "  echo \"Pode agora executar a aplicação a partir do comando pteidgui\"" >> pteid-pkg/install_pteid.sh 
    5794 
    58 echo "install -m 755 -p \"lib/libpteidapplayer.so.3.5.5\" \"/usr/local/lib/libpteidapplayer.so.3.5.5\""  >> pteid-pkg/install_pteid.sh 
    59 echo "ln -s -f /usr/local/lib/libpteidapplayer.so.3.5.5 /usr/local/lib/libpteidapplayer.so"  >> pteid-pkg/install_pteid.sh 
    60 echo "ln -s -f /usr/local/lib/libpteidapplayer.so.3.5.5 /usr/local/lib/libpteidapplayer.so.3"  >> pteid-pkg/install_pteid.sh 
    61 echo "ln -s -f /usr/local/lib/libpteidapplayer.so.3.5.5 /usr/local/lib/libpteidapplayer.so.3.5"  >> pteid-pkg/install_pteid.sh 
    62  
    63 echo "install -m 755 -p \"lib/libpteidlib.so.3.5.5\" \"/usr/local/lib/libpteidlib.so.3.5.5\""  >> pteid-pkg/install_pteid.sh 
    64 echo "ln -s -f /usr/local/lib/libpteidlib.so.3.5.5 /usr/local/lib/libpteidlib.so"  >> pteid-pkg/install_pteid.sh 
    65 echo "ln -s -f /usr/local/lib/libpteidlib.so.3.5.5 /usr/local/lib/libpteidlib.so.3"  >> pteid-pkg/install_pteid.sh 
    66 echo "ln -s -f /usr/local/lib/libpteidlib.so.3.5.5 /usr/local/lib/libpteidlib.so.3.5"  >> pteid-pkg/install_pteid.sh 
    67  
    68 echo "install -m 755 -p \"lib/libpteidlibJava_Wrapper.so.3.5.5\" \"/usr/local/lib/libpteidlibJava_Wrapper.so.3.5.5\""  >> pteid-pkg/install_pteid.sh 
    69 echo "ln -s -f /usr/local/lib/libpteidlibJava_Wrapper.so.3.5.5 /usr/local/lib/libpteidlibJava_Wrapper.so"  >> pteid-pkg/install_pteid.sh 
    70 echo "ln -s -f /usr/local/lib/libpteidlibJava_Wrapper.so.3.5.5 /usr/local/lib/libpteidlibJava_Wrapper.so.3"  >> pteid-pkg/install_pteid.sh 
    71 echo "ln -s -f /usr/local/lib/libpteidlibJava_Wrapper.so.3.5.5 /usr/local/lib/libpteidlibJava_Wrapper.so.3.5"  >> pteid-pkg/install_pteid.sh 
     95echo "else" >> pteid-pkg/install_pteid.sh 
     96echo "  echo \"Nao tem permissoes de instalacao! Necessita de permissoes de super-utilizador para instalar o software.\"" >> pteid-pkg/install_pteid.sh 
     97echo "  echo \"Instalação cancelada!\"" >> pteid-pkg/install_pteid.sh 
     98echo "fi" >> pteid-pkg/install_pteid.sh 
    7299 
    73100 
    74101 
    75 echo "install -m 755 -p \"bin/pteidgui\" \"/usr/local/bin/pteidgui\""  >> pteid-pkg/install_pteid.sh 
    76 echo ""  >> pteid-pkg/install_pteid.sh 
    77 echo "install -m 644 -p \"eidgui/eidmw_de.qm\" \"/usr/local/bin/\""  >> pteid-pkg/install_pteid.sh 
    78 echo "install -m 644 -p \"eidgui/eidmw_en.qm\" \"/usr/local/bin/\""  >> pteid-pkg/install_pteid.sh 
    79 echo "install -m 644 -p \"eidgui/eidmw_fr.qm\" \"/usr/local/bin/\""  >> pteid-pkg/install_pteid.sh 
    80 echo "install -m 644 -p \"eidgui/eidmw_nl.qm\" \"/usr/local/bin/\""  >> pteid-pkg/install_pteid.sh 
    81 echo "echo \"Finish!\""  >> pteid-pkg/install_pteid.sh 
    82  
    83  
    84102chmod +x pteid-pkg/install_pteid.sh 
    85  
    86  
    87  
    88  
    89103tar czvf pteid-pkg.tar.gz pteid-pkg/