Changeset 124

Show
Ignore:
Timestamp:
03/17/12 16:18:23 (9 years ago)
Author:
vsilva
Message:

Improve Verify Xades-T Feature, Improve some dialogs and translations

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

Legend:

Unmodified
Added
Removed
  • middleware-offline/trunk/_src/eidmw/applayer/CardPteid.cpp

    r109 r124  
    14201420        tCardFileStatus filestatus = CARDFILESTATUS_ERROR_SIGNATURE; 
    14211421 
    1422         //cout << "APL_EidFile_Sod::VerifyFile() - I" << endl; 
    14231422        if (m_isVerified) // no need to check again 
    14241423                return CARDFILESTATUS_OK; 
     
    14301429 
    14311430        PKCS7 *p7 = NULL; 
     1431        bool verifySOD = false; 
    14321432 
    14331433        ERR_load_PKCS7_strings(); 
     
    14541454        BIO *Out = BIO_new(BIO_s_mem()); 
    14551455 
    1456         if (PKCS7_verify(p7,pSigners,store,NULL,Out,0)==1){ 
     1456        verifySOD = PKCS7_verify(p7,pSigners,store,NULL,Out,0)==1; 
     1457        if (verifySOD){ 
    14571458                unsigned char *p; 
    14581459                long size; 
     
    14691470        PKCS7_free(p7); 
    14701471 
    1471         //cout << "APL_EidFile_Sod::VerifyFile() - F" << endl; 
     1472        if (!verifySOD) 
     1473                throw CMWEXCEPTION(EIDMW_SOD_ERR_VERIFY_SOD_SIGN); 
     1474 
    14721475        return filestatus; 
    14731476} 
  • middleware-offline/trunk/_src/eidmw/common/eidErrors.h

    r82 r124  
    284284#define EIDMW_SOD_ERR_HASH_NO_MATCH_PICTURE                     0xe1d00c06 
    285285#define EIDMW_SOD_ERR_HASH_NO_MATCH_PUBLIC_KEY          0xe1d00c07 
     286#define EIDMW_SOD_ERR_VERIFY_SOD_SIGN                           0xe1d00c08 
    286287 
    287288// Errors in system calls 
  • middleware-offline/trunk/_src/eidmw/eidgui/AutoUpdates.cpp

    r82 r124  
    4747std::string remoteversion = "http://svn.gov.pt/projects/ccidadao/repository/middleware-offline/tags/builds/lastversion/version.txt"; 
    4848 
    49  
     49std::string WINDOWS32 = "PteidMW-Basic-en.msi"; 
     50std::string WINDOWS64 = "PteidMW-Basic-en-x64.msi"; 
     51std::string OSX32 = "pteidgui.dmg"; 
     52std::string OSX64 = "pteidgui.dmg"; 
     53std::string DEBIAN32 = "pteid-mw_debian_i386.deb"; 
     54std::string DEBIAN64 = "pteid-mw_debian_amd64.deb"; 
     55std::string UBUNTU32 = "pteid-mw_ubuntu_i386.deb"; 
     56std::string UBUNTU64 = "pteid-mw_ubuntu_amd64.deb"; 
     57std::string FEDORA32 = "pteid-mw-fedora.i386.rpm"; 
     58std::string FEDORA64 = "pteid-mw-fedora.x86_64.rpm"; 
     59std::string SUSE32 = "pteid-mw-suse.i586.rpm"; 
     60std::string SUSE64 = "pteid-mw-suse.x86_64.rpm"; 
     61std::string MANDRIVA32 = "pteid-mw-mandriva.i586.rpm"; 
     62std::string MANDRIVA64 = "pteid-mw-mandriva.x86_64.rpm"; 
    5063 
    5164AutoUpdates::AutoUpdates(QWidget *parent) 
     
    343356{ 
    344357        std::string downloadurl; 
    345         std::string pkgname; 
    346358 
    347359    eIDMW::PTEID_Config config(eIDMW::PTEID_PARAM_AUTOUPDATES_URL); 
     
    356368        if (arch == "i386") 
    357369        { 
    358                 pkgname.append("PteidMW35-Basic-en.msi"); 
    359                 downloadurl.append(pkgname); 
     370        downloadurl.append(WINDOWS32); 
    360371                HttpWindow httpWin(downloadurl, distro); 
    361372                httpWin.show(); 
    362373                httpWin.exec(); 
    363374        } else { 
    364         pkgname.append("PteidMW35x86_64-Basic-en.msi"); 
    365                 downloadurl.append(pkgname); 
     375        downloadurl.append(WINDOWS64); 
    366376                HttpWindow httpWin(downloadurl, distro); 
    367377                httpWin.show(); 
     
    371381        if (arch == "i386") 
    372382        { 
    373                 pkgname.append("pteidgui.dmg"); 
    374                 downloadurl.append(pkgname); 
     383            downloadurl.append(OSX32); 
    375384                HttpWindow httpWin(downloadurl, distro); 
    376385                httpWin.show(); 
    377386                httpWin.exec(); 
    378387        } else { 
    379                 pkgname.append("pteidgui.dmg"); 
    380                 downloadurl.append(pkgname); 
     388            downloadurl.append(OSX64); 
    381389                HttpWindow httpWin(downloadurl, distro); 
    382390                httpWin.show(); 
     
    394402 
    395403    //Name of the deb/rpm the rest of the appends will be distro specific 
    396         pkgname.append("pteid-mw"); 
    397404 
    398405        if (arch == "x86_64") 
     
    400407                if (distro == "debian") 
    401408                { 
    402             pkgname.append("_debian"); 
    403                         pkgname.append("_amd64.deb"); 
    404                         downloadurl.append(pkgname); 
     409            downloadurl.append(DEBIAN64); 
    405410                        HttpWindow httpWin(downloadurl, distro); 
    406411                        httpWin.show(); 
     
    410415        if (distro == "Ubuntu" || distro == "CaixaMagica") 
    411416        { 
    412             pkgname.append("_ubuntu"); 
    413             pkgname.append("_amd64.deb"); 
    414             downloadurl.append(pkgname); 
     417            downloadurl.append(UBUNTU64); 
    415418            HttpWindow httpWin(downloadurl, distro); 
    416419            httpWin.show(); 
     
    419422        } 
    420423                else if (distro == "fedora") 
    421                 { 
    422             pkgname.append("-fedora"); 
    423                         pkgname.append(".x86_64.rpm"); 
    424                         downloadurl.append(pkgname); 
     424        { 
     425            downloadurl.append(FEDORA64); 
    425426                        HttpWindow httpWin(downloadurl, distro); 
    426427                        httpWin.show(); 
     
    429430                else if (distro == "suse") 
    430431                { 
    431                 pkgname.append("-suse"); 
    432                         pkgname.append(".x86_64.rpm"); 
    433                         downloadurl.append(pkgname); 
     432                downloadurl.append(SUSE64); 
    434433                        HttpWindow httpWin(downloadurl, distro); 
    435434                        httpWin.show(); 
     
    438437        else if (distro == "mandriva") 
    439438        { 
    440                 pkgname.append("-mandriva"); 
    441                 pkgname.append(".x86_64.rpm"); 
    442                 downloadurl.append(pkgname); 
     439                downloadurl.append(MANDRIVA64); 
    443440                HttpWindow httpWin(downloadurl, distro); 
    444441                httpWin.show(); 
     
    450447                if (distro == "debian") 
    451448                { 
    452             pkgname.append("_debian"); 
    453                         pkgname.append("_i386.deb"); 
    454                         downloadurl.append(pkgname); 
     449            downloadurl.append(DEBIAN32); 
    455450                        HttpWindow httpWin(downloadurl, distro); 
    456451                        httpWin.show(); 
     
    459454        if (distro == "Ubuntu" || distro == "CaixaMagica") 
    460455        { 
    461             pkgname.append("_ubuntu"); 
    462             pkgname.append("_amd64.deb"); 
    463             downloadurl.append(pkgname); 
     456            downloadurl.append(UBUNTU32); 
    464457            HttpWindow httpWin(downloadurl, distro); 
    465458            httpWin.show(); 
     
    469462                else if (distro == "fedora") 
    470463                { 
    471             pkgname.append("-fedora"); 
    472                         pkgname.append(".i386.rpm"); 
    473                         downloadurl.append(pkgname); 
     464            downloadurl.append(FEDORA32); 
    474465                        HttpWindow httpWin(downloadurl, distro); 
    475466                        httpWin.show(); 
     
    478469                else if (distro == "suse") 
    479470                { 
    480                 pkgname.append("-suse"); 
    481                         pkgname.append(".i586.rpm"); 
    482                         downloadurl.append(pkgname); 
     471                downloadurl.append(SUSE32); 
    483472                        HttpWindow httpWin(downloadurl, distro); 
    484473                        httpWin.show(); 
     
    487476        else if (distro == "mandriva") 
    488477        { 
    489                 pkgname.append("-mandriva"); 
    490                 pkgname.append(".i586.rpm"); 
    491                 downloadurl.append(pkgname); 
     478                downloadurl.append(MANDRIVA32); 
    492479                HttpWindow httpWin(downloadurl, distro); 
    493480                httpWin.show(); 
  • middleware-offline/trunk/_src/eidmw/eidlib/eidlib.h

    r82 r124  
    14191419{ 
    14201420public: 
     1421        static const unsigned long CITIZEN_AUTH = 0; 
     1422        static const unsigned long CITIZEN_SIGN = 1; 
     1423        static const unsigned long SUB_CA_SIGN = 2; 
     1424        static const unsigned long SUB_CA_AUTH = 3; 
     1425 
    14211426        PTEIDSDK_API virtual ~PTEID_Certificate();                      /**< Destructor */ 
    14221427 
  • middleware-offline/trunk/_src/eidmw/eidlib/eidlib.i

    r82 r124  
    502502#elif SWIGJAVA  /********************** JAVA SPECIFICS ***********************/ 
    503503 
    504 # no need to add a static block on every project that uses the java wrapper 
    505 # the lib must be in the java library path 
    506  
    507504///////////////////////////////////////// ByteArray ///////////////////////////////////////////// 
    508505%typemap(jni)          const unsigned char* "jbyteArray"                     
     
    687684                                classDescription += "/PTEID_ExUnknown"; 
    688685                                break; 
     686                        case EIDMW_SOD_UNEXPECTED_VALUE:         
     687                        case EIDMW_SOD_UNEXPECTED_ASN1_TAG:                              
     688                        case EIDMW_SOD_UNEXPECTED_ALGO_OID:                              
     689                        case EIDMW_SOD_ERR_HASH_NO_MATCH_ID:                             
     690                        case EIDMW_SOD_ERR_HASH_NO_MATCH_ADDRESS:                        
     691                        case EIDMW_SOD_ERR_HASH_NO_MATCH_PICTURE:                        
     692                        case EIDMW_SOD_ERR_HASH_NO_MATCH_PUBLIC_KEY:             
     693                        case EIDMW_SOD_ERR_VERIFY_SOD_SIGN: 
     694                                classDescription += "/PTEID_ExSOD"; 
     695                                clazz = jenv->FindClass(classDescription.c_str()); 
     696                                if (clazz) 
     697                                { 
     698                                        methodID   = jenv->GetMethodID(clazz, "<init>", "(I)V");  
     699                                        if(methodID) 
     700                                        { 
     701                                                jthrowable  exc   = static_cast<jthrowable>(jenv->NewObject(clazz, methodID, err)); 
     702                                                jint success = jenv->Throw(exc); 
     703                                        } 
     704                                } 
     705                                return; 
     706                                break;                   
    689707                        case EIDMW_ERR_CARD: 
    690708                        default: 
     
    868886%javaexception("PTEID_Exception") SignXades                     JAVA_CODE_THROW 
    869887%javaexception("PTEID_Exception") SignXadesT                JAVA_CODE_THROW 
    870  
     888%javaexception("PTEID_Exception") SignXadesIndividual   JAVA_CODE_THROW 
     889%javaexception("PTEID_Exception") SignXadesTIndividual  JAVA_CODE_THROW 
     890%javaexception("PTEID_Exception") doSODCheck                    JAVA_CODE_THROW 
    871891 
    872892//------------------------------------------------------------ 
  • middleware-offline/trunk/_src/eidmw/eidlib/eidlibException.cpp

    r41 r124  
    8989        case EIDMW_SOD_ERR_HASH_NO_MATCH_PICTURE: 
    9090        case EIDMW_SOD_ERR_HASH_NO_MATCH_PUBLIC_KEY: 
     91        case EIDMW_SOD_ERR_VERIFY_SOD_SIGN: 
    9192                throw PTEID_ExSOD(e.GetError()); 
    9293