in marketplace/deployer_util/property_generator.py [0:0]
def generate_tls_certificate():
"""Generate TLS value, a json string."""
cert_seconds_to_expiry = 60 * 60 * 24 * 365 # one year
key = OpenSSL.crypto.PKey()
key.generate_key(OpenSSL.crypto.TYPE_RSA, 2048)
cert = OpenSSL.crypto.X509()
cert.get_subject().OU = 'GCP Marketplace K8s App Tools'
cert.get_subject().CN = 'Temporary Certificate'
cert.gmtime_adj_notBefore(0)
cert.gmtime_adj_notAfter(cert_seconds_to_expiry)
cert.set_serial_number(random.getrandbits(64))
cert.set_issuer(cert.get_subject())
cert.set_pubkey(key)
cert.sign(key, 'sha256')
return json.dumps({
'private_key':
OpenSSL.crypto.dump_privatekey(OpenSSL.crypto.FILETYPE_PEM,
key).decode('ascii'),
'certificate':
OpenSSL.crypto.dump_certificate(OpenSSL.crypto.FILETYPE_PEM,
cert).decode('ascii')
})