Exemplo n.º 1
0
def generate_certificate(cert_dir, uid, sid, role, email, cn, org, ca_cert=None):
    """Generates a new x509 certificate for a manager from scratch.

    Creates a key, a request and then the certificate."""

    # Get CA cert
    if ca_cert is None:
        ca_cert = file_get_contents(os.path.join(cert_dir, "ca_cert.pem"))

    # Generate keypair
    req_key  = x509.gen_rsa_keypair()

    # Generate certificate request
    x509_req = x509.create_x509_req(req_key, userId=uid, serviceLocator=sid, 
        O=org, emailAddress=email, CN=cn, role=role)

    # Sign the request
    certificate = create_x509_cert(cert_dir, x509_req)

    return { 'ca_cert': ca_cert, 
             'key': crypto.dump_privatekey(crypto.FILETYPE_PEM, req_key), 
             'cert': certificate }
Exemplo n.º 2
0
def generate_certificate(cert_dir,
                         uid,
                         sid,
                         role,
                         email,
                         cn,
                         org,
                         ca_cert=None):
    """Generates a new x509 certificate for a manager from scratch.

    Creates a key, a request and then the certificate."""

    # Get CA cert
    if ca_cert is None:
        ca_cert = file_get_contents(os.path.join(cert_dir, "ca_cert.pem"))

    # Generate keypair
    req_key = x509.gen_rsa_keypair()

    # Generate certificate request
    x509_req = x509.create_x509_req(req_key,
                                    userId=uid,
                                    serviceLocator=sid,
                                    O=org,
                                    emailAddress=email,
                                    CN=cn,
                                    role=role)

    # Sign the request
    certificate = create_x509_cert(cert_dir, x509_req)

    return {
        'ca_cert': ca_cert,
        'key': crypto.dump_privatekey(crypto.FILETYPE_PEM, req_key),
        'cert': certificate
    }
Exemplo n.º 3
0
CERT_DIR = common.config_parser.get('conpaas', 'CERT_DIR')

if common.config_parser.has_option('director', 'DIRECTOR_URL'):
    # Get default hostname from DIRECTOR_URL if it exists already
    hostname = common.config_parser.get('director', 'DIRECTOR_URL')
    hostname = re.sub(':.*', '', urlparse(hostname).netloc)
else:
    # If DIRECTOR_URL does not exist, just trust platform.node()
    hostname = platform.node()

#try:
#    hostname = sys.argv[1]
#except IndexError:
#    hostname = rlinput('Please enter your host ip: ', hostname) 
# create CA keypair
cakey = x509.gen_rsa_keypair()

# save ca_key.pem to filesystem
open(os.path.join(CERT_DIR, 'ca_key.pem'), 'w').write(x509.key_as_pem(cakey))

# create cert request
req = x509.create_x509_req(cakey, CN='CA', emailAddress='*****@*****.**',
                           O='ConPaaS')

five_years = 60 * 60 * 24 * 365 * 5

# create ca certificate, valid for five years
cacert = x509.create_cert(
    req=req,
    issuer_cert=req,
    issuer_key=cakey,
Exemplo n.º 4
0
if common.config_parser.has_option('director', 'DIRECTOR_URL'):
    # Get default hostname from DIRECTOR_URL if it exists already
    hostname = common.config_parser.get('director', 'DIRECTOR_URL')
    hostname = re.sub(':.*', '', urlparse(hostname).netloc)
else:
    # If DIRECTOR_URL does not exist, just trust platform.node()
    hostname = platform.node()

try:
    hostname = sys.argv[1]
except IndexError:
    hostname = rlinput('Please enter your hostname: ', hostname)

# create CA keypair
cakey = x509.gen_rsa_keypair()

# save ca_key.pem to filesystem
open(os.path.join(CERT_DIR, 'ca_key.pem'), 'w').write(x509.key_as_pem(cakey))

# create cert request
req = x509.create_x509_req(cakey,
                           CN='CA',
                           emailAddress='*****@*****.**',
                           O='ConPaaS')

five_years = 60 * 60 * 24 * 365 * 5

# create ca certificate, valid for five years
cacert = x509.create_cert(req=req,
                          issuer_cert=req,