blob: d6804cca19d5d0227aba8186568a480b3aa39fe0 [file] [log] [blame]
#!/bin/bash
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# Copies keys that enable SSH communication with system vms
# $1 = new public key
# $2 = new private key
'''
All imports go here...
'''
from subprocess import call
import socket
import sys
import os
import subprocess
import traceback
def generateSSLKey(outputPath):
logf = open("ssl-keys.log", "w")
hostName = socket.gethostbyname(socket.gethostname())
keyFile = outputPath + os.sep + "cloudmanagementserver.keystore"
logf.write("HostName = %s\n" % hostName)
logf.write("OutputPath = %s\n" % keyFile)
dname='cn="Cloudstack User",ou="' + hostName + '",o="' + hostName + '",c="Unknown"';
logf.write("dname = %s\n" % dname)
logf.flush()
try :
return_code = subprocess.Popen(["keytool", "-genkey", "-keystore", keyFile, "-storepass", "vmops.com", "-keypass", "vmops.com", "-keyalg", "RSA", "-validity", "3650", "-dname", dname],shell=True,stdout=logf, stderr=logf)
return_code.wait()
except OSError as e:
logf.flush()
traceback.print_exc(file=logf)
logf.flush()
logf.write("SSL key generated is : %s" % return_code)
logf.flush()
argsSize=len(sys.argv)
if argsSize != 2:
print("Usage: ssl-keys.py <SSL File Key Path>")
sys.exit(None)
sslKeyPath=sys.argv[1]
generateSSLKey(sslKeyPath)