def generatecsr()

in cdk-iot-analytics/cdk_sap_blog/create_key_and_csr.py [0:0]


def generatecsr(keypath, cn):
    global key
    csrpath = os.path.join(CERTS_DIR, cn + '.csr.pem')
    req = crypto.X509Req()
    req.get_subject().CN = cn
    req.get_subject().C = "US"
    req.get_subject().ST = "MN"
    req.get_subject().L = "Lake Elmo"
    req.get_subject().O = "Amazon Web Services"
    req.get_subject().OU = "Partner Solution Architecture"
    req.set_pubkey(key)
    req.sign(key, "sha256")

    if os.path.exists(csrpath):
        print(f"Using existing CSR: {csrpath}")
    else:
        with open(csrpath, "w") as f:
            f.write(crypto.dump_certificate_request(crypto.FILETYPE_PEM, req).decode())
        print(f"Created CSR: {csrpath}")

    return csrpath