Changeset 7676


Ignore:
Timestamp:
01/11/10 11:28:05 (9 years ago)
Author:
pjkersha
Message:

Added ability to flag / ignore cert expiry errors.

Location:
TI12-security/trunk/esg_system_tests/esg/security/test/system
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • TI12-security/trunk/esg_system_tests/esg/security/test/system

    • Property svn:ignore set to
      verisign_root
      pcmdi3.llnl.gov.crt
      test_ssl.cfg.working
  • TI12-security/trunk/esg_system_tests/esg/security/test/system/test_ssl.cfg

    r7651 r7676  
    11[DEFAULT] 
    2 caCertDir = %(here)s/pki/ca 
     2#caCertDir = %(here)s/pki/ca 
     3caCertDir = %(here)s/verisign_root 
    34certFilePath = %(here)s/pki/ 
    45priKeyFilePath = %(here)s/pki/ 
     6 
     7# Uncomment to ignore certificate expiry errors - may be useful to trap other 
     8# errors that would otherwise be hidden 
     9#ignoreCertExpiryErrors = True 
    510endpoints =  
    6         pcmdi3.llnl.gov:443 
    7 #       localhost:7443 
     11        localhost:7443 
    812#   www.google.com:443 
    9 #       ceda.ac.uk:443  
    10 #       myproxy.ceda.ac.uk:7512 
    11 #       pcmdi3.llnl.gov:2119 
    12 #       jpl-esg.jpl.nasa.gov:443 
    13 #       earthsystemgrid.org:443 
    14 #       esg2-gw.ccs.ornl.gov:443 
    15 #       ipcc-ar5.dkrz.de:443 
    16 #       albedo2.dkrz.de:443 
    1713         
    1814[test01] 
  • TI12-security/trunk/esg_system_tests/esg/security/test/system/test_ssl.py

    r7651 r7676  
    1818import socket 
    1919from os import path 
    20 from ConfigParser import SafeConfigParser 
     20from ConfigParser import SafeConfigParser, NoOptionError 
    2121 
    2222from OpenSSL import SSL 
     
    5050            self.endpoints.append((fqdn, int(port))) 
    5151         
     52        try: 
     53            self.ignoreCertExpiryErrors = cfg.getboolean('DEFAULT',  
     54                                                     'ignoreCertExpiryErrors') 
     55        except NoOptionError: 
     56            self.ignoreCertExpiryErrors = False 
     57             
    5258        self.ctx = SSL.Context(SSL.SSLv3_METHOD) 
    5359        self.ctx.load_verify_locations(None, self.caCertDir) 
     
    5561         
    5662        def _callback(conn, x509, errorNum, errorDepth, preverifyOK): 
    57             if errorNum != 0: 
     63            """OpenSSL Verification callback""" 
     64            if errorNum == 10 and self.ignoreCertExpiryErrors: 
     65                dn = x509.get_subject() 
     66                log.warning("\"ignoreCertExpiryErrors\" flag set: ignoring " 
     67                            "certificate expiry error number %d for " 
     68                            "certificate %s", errorNum, dn) 
     69                return True 
     70                 
     71            elif errorNum != 0: 
    5872                dn = x509.get_subject() 
    5973                log.error("Error number for certificate %s is %d", dn, errorNum) 
     
    8195                      (endpoint, traceback.format_exc())) 
    8296            return False 
     97         
     98        return True 
    8399        
    84100    def test01ValidPeerCerts(self): 
Note: See TracChangeset for help on using the changeset viewer.