/usr/sbin/pickle-cnf.py is in pyca 20031119-0.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | #!/usr/bin/python
########################################################################
# pickle-cnf.py
# (c) by Michael Stroeder, michael@stroeder.com
########################################################################
__version__ = '0.6.6'
########################################################################
# This short script creates a pickled object file of the
# OpenSSL configuration file.
########################################################################
import sys, string, os, pickle, getopt
def findoption(options,paramname):
for i in options:
if i[0]==paramname:
return i
return ()
def PrintUsage(ErrorMsg='',ErrorCode=1):
script_name = string.split(sys.argv[0],os.sep)[-1]
sys.stderr.write("""*** %s *** (C) by Michael Stroeder, 1999
usage: %s [options]
Options:
-h or --help
Print out this message
--config=[pathname]
Pathname of OpenSSL configuration file.
You may also use env variable OPENSSL_CONF.
Default: /etc/pyca/openssl.cnf
--pycalib=[directory]
Specify directory containing the pyCA modules
You may also use env variable PYCALIB.
Default: /usr/share/pyca/pylib
""" % (script_name,script_name))
if ErrorMsg:
sys.stderr.write('Error: %s\n' % ErrorMsg)
sys.exit(ErrorCode)
########################################################################
# Main
########################################################################
script_name=sys.argv[0]
try:
options,args=getopt.getopt(sys.argv[1:],'h',['help','config=','pycalib='])
except getopt.error,e:
PrintUsage(str(e))
if findoption(options,'-h')!=() or findoption(options,'--help')!=():
PrintUsage()
if findoption(options,'--config')!=():
opensslcnfname = findoption(options,'--config')[1]
else:
opensslcnfname = os.environ.get('OPENSSL_CONF','/etc/pyca/openssl.cnf')
if not os.path.isfile(opensslcnfname):
PrintUsage('Config file %s not found.' % (opensslcnfname))
if findoption(options,'--pycalib')!=():
pycalib = findoption(options,'--pycalib')[1]
else:
pycalib = os.environ.get('PYCALIB','/usr/share/pyca/pylib')
if not os.path.exists(pycalib) or not os.path.isdir(pycalib):
PrintUsage('Module directory %s not exists or not a directory.' % (pycalib))
sys.path.append(pycalib)
try:
import openssl
except ImportError:
PrintUsage('Module openssl not found in directory %s!' % (pycalib))
print 'Reading source file %s...' % (opensslcnfname)
opensslcnf = openssl.cnf.OpenSSLConfigClass(opensslcnfname)
pickle_opensslcnfname = '%s.pickle' % (opensslcnfname)
#if os.path.isfile(pickle_opensslcnfname):
# print 'Removing old pickle file %s' % (pickle_opensslcnfname)
# os.remove(pickle_opensslcnfname)
print 'Write new pickled file %s...' % (pickle_opensslcnfname)
f=open(pickle_opensslcnfname,'wb')
pickle.dump(opensslcnf, f,1)
f.close()
|