From: Tony Mack Date: Tue, 2 Jun 2009 18:07:07 +0000 (+0000) Subject: added setup_server_key() method to help with setting up the server's private key X-Git-Tag: sfa-0.9-0@14641~351 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=67d2f85868ab83ac9583bebb2850dc39f0dae579;p=sfa.git added setup_server_key() method to help with setting up the server's private key --- diff --git a/geni-config-tty b/geni-config-tty index e99a6c09..cf39986d 100755 --- a/geni-config-tty +++ b/geni-config-tty @@ -19,6 +19,9 @@ import traceback from optparse import OptionParser from geni.util.config import Config +from geni.util.hierarchy import * +from geni.util.misc import * + usual_variables = ["GENI_REGISTRY_ROOT_AUTH", "GENI_REGISTRY_LEVEL1_AUTH", @@ -222,6 +225,42 @@ def mainloop (default_config, config_file): else: print ("Unknown command >%s< -- use h for help" % answer) + result = {} + result.update(defaults) + result.update(changes) + return result + +def setup_server_key(config_dict): + hrn = config_dict.get('GENI_INTERFACE_HRN') + print "updating server key ...", + if not hrn: print "nothing to do" + + # Get the path to the authorities directory hierarchy + hierarchy = Hierarchy() + path = hierarchy.basedir + auth_path = hrn.replace(".", os.sep) + + # define some useful variables + key = 'server.key' + cert = 'server.cert' + hrn_leaf = get_leaf(hrn) + if not hrn_leaf: + hrn_leaf = hrn + new_server_key = os.sep.join([path, auth_path, hrn_leaf]) + old_server_key = os.sep.join([path, key]) + old_server_cert = os.sep.join([path, cert]) + + # remove old key/cert + for fd in [old_server_key, old_server_cert]: + if os.path.isfile(fd): + os.remove(fd) + + # create new server.key + #os.copy(new_server_key, old_server_key) + print "%(old_server_key)s copied from %(new_server_key)s" % locals() + + + #################### def main (): @@ -244,8 +283,10 @@ def main (): # if -d is specified dont prompt, just configure with defaults if '-d' in argv: save_config(defaults, config_file) + results = defaults else: - mainloop (defaults, config_file) + results = mainloop (defaults, config_file) + setup_server_key(results) return 0 if __name__ == '__main__':