Changeset 1180


Ignore:
Timestamp:
14/06/06 18:02:27 (13 years ago)
Author:
pjkersha
Message:

Tests/SecurityClientTest?.py: mods for tests on gabriel

NDG/Session.py: SessionMgrCredRepos?.auditCredentials can now accept a 'dn' keyword so that only the records
corresponding to the given Distinguished Name are audited.

NDG/CredWallet.py: init now contains a call to audit the Credential Repository via
SessionMgrCredRepos?.auditCredentials(). reqAuthorisation() now correctly checks for existing ACs set in the
wallet.

Location:
TI12-security/trunk/python
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • TI12-security/trunk/python/NDG/CredWallet.py

    r1177 r1180  
    2323# Keyword formatting/XML message creation for Attribute Authority WS 
    2424from AttAuthorityIO import * 
     25 
     26from SecurityClient import AttAuthorityClient, AttAuthorityClientError 
    2527 
    2628# Access Attribute Authority's web service using ZSI - allow pass if not loaded 
     
    201203        if self.__credRepos: 
    202204            if not isinstance(self.__credRepos, CredRepos): 
    203                 raise CredWalletError(\ 
     205                raise CredWalletError, \ 
    204206                    "Input Credentials Repository instance must be of a " + \ 
    205                     "class derived from \"CredRepos\"") 
     207                    "class derived from \"CredRepos\"" 
    206208     
    207209        
    208210            # Check for valid attribute certificates for the user 
    209211            try: 
     212                self.__credRepos.auditCredentials(dn=self.__dn) 
    210213                userCred = self.__credRepos.getCredentials(self.__dn) 
    211214     
    212215            except Exception, e: 
    213                 raise CredWalletError( 
     216                raise CredWalletError, \ 
    214217                "Error updating wallet with credentials from repository: " + \ 
    215                     str(e)) 
    216      
    217      
    218             # Update wallet with attribute certificates stored in the repository 
    219             # Store ID and certificate instantiated as an AttCert type 
     218                    str(e) 
     219     
     220     
     221            # Update wallet with attribute certificates stored in the  
     222            # repository.  Store ID and certificate instantiated as an AttCert 
     223            # type 
    220224            try: 
    221225                for cred in userCred: 
     
    225229                     
    226230                    self.__credentials[issuerName] = \ 
    227                                              {'id':cred.id, 'attCert':attCert}                                            
     231                                             {'id':cred.id, 'attCert':attCert}     
    228232            except Exception, e: 
    229233                try: 
    230                     raise CredWalletError( 
     234                    raise CredWalletError, \ 
    231235                            "Error parsing Attribute Certificate ID '" + \ 
    232236                                    cred.id + "' retrieved from the " + \ 
    233                                     "Credentials Repository: %s" % str(e))                 
     237                                    "Credentials Repository: %s" % str(e)                 
    234238                except: 
    235                     raise CredWalletError("Error parsing Attribute " + \ 
     239                    raise CredWalletError, "Error parsing Attribute " + \ 
    236240                                          "Certificate retrieved from " + \ 
    237241                                          "the Credentials Repository: %s:" \ 
    238                                           % str(e)) 
     242                                          % str(e) 
    239243             
    240244             
     
    947951                                 clntPriKeyFilePath=self.__clntPriKeyFilePath) 
    948952             
    949             hostInfo = aaClnt.getHostInfo(encrPriKeyPwd=self.__clntPriKeyPwd) 
     953            hostInfo = aaClnt.getHostInfo(clntPriKeyPwd=self.__clntPriKeyPwd) 
    950954            aaName = hostInfo.keys()[0] 
    951955             
     
    958962                # 
    959963                # P J Kershaw 14/06/06 
    960                 dtNow = datetime.utcnow() + datetime.timedelta(seconds=7200) 
    961                  
    962                 if self.__credentials[aaName].isValidTime(dtNow=dtNow):                                    
    963                     return self.__credentials[aaName] 
     964                dtNow = datetime.utcnow() + timedelta(seconds=7200) 
     965                 
     966                attCert = self.__credentials[aaName]['attCert'] 
     967                if attCert.isValidTime(dtNow=dtNow):                                    
     968                    return attCert 
    964969             
    965970             
  • TI12-security/trunk/python/NDG/Session.py

    r1125 r1180  
    12791279 
    12801280                             
    1281     def auditCredentials(self, **attCertValidKeys): 
     1281    def auditCredentials(self, dn=None, **attCertValidKeys): 
    12821282        """Check the attribute certificates held in the repository and delete 
    12831283        any that have expired 
    12841284 
     1285        dn:                Only audit for the given user distinguished Name. 
     1286                           if not set, all records are audited 
    12851287        attCertValidKeys:  keywords which set how to check the Attribute 
    1286                             Certificate e.g. check validity time, XML 
    1287                             signature, version etc.  Default is check 
    1288                             validity time only""" 
     1288                           Certificate e.g. check validity time, XML 
     1289                           signature, version etc.  Default is check 
     1290                           validity time only""" 
    12891291 
    12901292        if attCertValidKeys == {}: 
     
    12961298             
    12971299        try: 
    1298             credList = self.UserCredential.select() 
     1300            if dn: 
     1301                # Only audit for the given user distinguished Name 
     1302                credList = self.UserCredential.selectBy(dn=dn) 
     1303            else: 
     1304                # Audit all credentials 
     1305                credList = self.UserCredential.select() 
    12991306             
    13001307        except Exception, e: 
  • TI12-security/trunk/python/Tests/SecurityClientTest.py

    r1176 r1180  
    2828        try: 
    2929            # Session Manager WSDL 
    30             self.smWSDL = 'http://glue.badc.rl.ac.uk/sessionMgr.wsdl' 
     30#            self.smWSDL = 'http://glue.badc.rl.ac.uk/sessionMgr.wsdl' 
     31            self.smWSDL = 'http://gabriel.bnsc.rl.ac.uk/sessionMgr.wsdl' 
    3132     
    3233            # Public key of session manager used to encrypt requests 
     
    5051 
    5152            # Attribute Authority client tests 
    52             self.aaWSDL = '/home/pjkersha/Development/security/python/Tests/attAuthority.wsdl' 
     53#            self.aaWSDL = '/home/pjkersha/Development/security/python/Tests/attAuthority.wsdl' 
    5354#            self.aaWSDL = 'http://glue.badc.rl.ac.uk/attAuthority.wsdl' 
     55            self.aaWSDL = 'http://gabriel.bnsc.rl.ac.uk/attAuthority.wsdl' 
    5456            aaPubKeyFilePath = None 
    5557             
     
    6264            self.proxyCert = None 
    6365            self.newUserName = 'testUser' 
    64             self.userName = 'lawrence' 
     66#            self.userName = 'lawrence' 
     67            self.userName = 'gabriel' 
    6568        except Exception, e: 
    6669            self.fail(str(e)) 
Note: See TracChangeset for help on using the changeset viewer.