These files are a subset of the python-2.7.2.tgz distribution from python.org. Changed files from PyMod-2.7.2 have been copied into the corresponding directories of this tree, replacing the original files in the distribution. Signed-off-by: daryl.mcdaniel@intel.com git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13197 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			34 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| class Security:
 | |
| 
 | |
|     def __init__(self):
 | |
|         import os
 | |
|         env = os.environ
 | |
|         if env.has_key('PYTHON_KEYFILE'):
 | |
|             keyfile = env['PYTHON_KEYFILE']
 | |
|         else:
 | |
|             keyfile = '.python_keyfile'
 | |
|             if env.has_key('HOME'):
 | |
|                 keyfile = os.path.join(env['HOME'], keyfile)
 | |
|             if not os.path.exists(keyfile):
 | |
|                 import sys
 | |
|                 for dir in sys.path:
 | |
|                     kf = os.path.join(dir, keyfile)
 | |
|                     if os.path.exists(kf):
 | |
|                         keyfile = kf
 | |
|                         break
 | |
|         try:
 | |
|             self._key = eval(open(keyfile).readline())
 | |
|         except IOError:
 | |
|             raise IOError, "python keyfile %s: cannot open" % keyfile
 | |
| 
 | |
|     def _generate_challenge(self):
 | |
|         import random
 | |
|         return random.randint(100, 100000)
 | |
| 
 | |
|     def _compare_challenge_response(self, challenge, response):
 | |
|         return self._encode_challenge(challenge) == response
 | |
| 
 | |
|     def _encode_challenge(self, challenge):
 | |
|         p, m = self._key
 | |
|         return pow(long(challenge), p, m)
 |