

def gen_hyper_keys(minion_id, country='US', state='Utah', locality='Salt Lake City', organization='Salted'):
    '\n    Generate the keys to be used by libvirt hypervisors, this routine gens\n    the keys and applies them to the pillar for the hypervisor minions\n    '
    key_dir = os.path.join(__opts__['pki_dir'], 'libvirt')
    if (not os.path.isdir(key_dir)):
        os.makedirs(key_dir)
    cakey = os.path.join(key_dir, 'cakey.pem')
    cacert = os.path.join(key_dir, 'cacert.pem')
    cainfo = os.path.join(key_dir, 'ca.info')
    if (not os.path.isfile(cainfo)):
        with salt.utils.fopen(cainfo, 'w+') as fp_:
            fp_.write('cn = salted\nca\ncert_signing_key')
    if (not os.path.isfile(cakey)):
        subprocess.call('certtool --generate-privkey > {0}'.format(cakey), shell=True)
    if (not os.path.isfile(cacert)):
        cmd = 'certtool --generate-self-signed --load-privkey {0} --template {1} --outfile {2}'.format(cakey, cainfo, cacert)
        subprocess.call(cmd, shell=True)
    sub_dir = os.path.join(key_dir, minion_id)
    if (not os.path.isdir(sub_dir)):
        os.makedirs(sub_dir)
    priv = os.path.join(sub_dir, 'serverkey.pem')
    cert = os.path.join(sub_dir, 'servercert.pem')
    srvinfo = os.path.join(sub_dir, 'server.info')
    cpriv = os.path.join(sub_dir, 'clientkey.pem')
    ccert = os.path.join(sub_dir, 'clientcert.pem')
    clientinfo = os.path.join(sub_dir, 'client.info')
    if (not os.path.isfile(srvinfo)):
        with salt.utils.fopen(srvinfo, 'w+') as fp_:
            infodat = 'organization = salted\ncn = {0}\ntls_www_server\nencryption_key\nsigning_key\ndigitalSignature'.format(__grains__['fqdn'])
            fp_.write(infodat)
    if (not os.path.isfile(priv)):
        subprocess.call('certtool --generate-privkey > {0}'.format(priv), shell=True)
    if (not os.path.isfile(cert)):
        cmd = 'certtool --generate-certificate --load-privkey {0} --load-ca-certificate {1} --load-ca-privkey {2} --template {3} --outfile {4}'.format(priv, cacert, cakey, srvinfo, cert)
        subprocess.call(cmd, shell=True)
    if (not os.path.isfile(clientinfo)):
        with salt.utils.fopen(clientinfo, 'w+') as fp_:
            infodat = 'country = {0}\nstate = {1}\nlocality = {2}\norganization = {3}\ncn = {4}\ntls_www_client\nencryption_key\nsigning_key\ndigitalSignature'.format(country, state, locality, organization, __grains__['fqdn'])
            fp_.write(infodat)
    if (not os.path.isfile(cpriv)):
        subprocess.call('certtool --generate-privkey > {0}'.format(srvinfo), shell=True)
    if (not os.path.isfile(ccert)):
        cmd = 'certtool --generate-certificate --load-privkey {0} --load-ca-certificate {1} --load-ca-privkey {2} --template {3} --outfile {4}'.format(cpriv, cacert, cakey, clientinfo, ccert)
        subprocess.call(cmd, shell=True)

dataset/ETHPy150Open saltstack/salt/salt/pillar/libvirt.py gen_hyper_keys/VarMisuse@543/1033 `cpriv`->`srvinfo`