コード例 #1
0
def main():

    BASE_MODULE_ARGS = dict(
        cadir = dict(default="/etc/certs"),
        certname = dict(required=True),
        subj = dict(default="/DC=com/DC=example/CN=CA/"),
        p12password = dict(required=True),
        certtype = dict(default="server", choices=["server", "client"]),
        state = dict(default="present", choices=["present", "absent"]),
        subjectAltNames = dict(required=False)
    )

    module = AnsibleModule(
        argument_spec= BASE_MODULE_ARGS,
        supports_check_mode=True
    )

    isServerCert = True

    if module.params["certtype"] == "client":
        isServerCert = False

    # cadir, certname, subj, p12password, isServerCert
    cert = Certificate(
        module.params["cadir"],
        module.params["certname"],
        module.params["subj"],
        module.params["p12password"],
        isServerCert,
        module.params["subjectAltNames"]
    )

    isValid = cert.validate_config()

    if isValid["success"]:
        if module.params["state"] == "present":
            isValid = cert.create_certificate()
        else:
            isValid = cert.remove_certificate()

    if not isValid["success"]:
        module.fail_json(msg=isValid["msg"])
    else:
        module.exit_json(**isValid)
コード例 #2
0
def main():

    BASE_MODULE_ARGS = dict(cadir=dict(default="/etc/certs"),
                            certname=dict(required=True),
                            subj=dict(default="/DC=com/DC=example/CN=CA/"),
                            p12password=dict(required=True),
                            certtype=dict(default="server",
                                          choices=["server", "client"]),
                            state=dict(default="present",
                                       choices=["present", "absent"]),
                            subjectAltNames=dict(required=False))

    module = AnsibleModule(argument_spec=BASE_MODULE_ARGS,
                           supports_check_mode=True)

    isServerCert = True

    if module.params["certtype"] == "client":
        isServerCert = False

    # cadir, certname, subj, p12password, isServerCert
    cert = Certificate(module.params["cadir"], module.params["certname"],
                       module.params["subj"], module.params["p12password"],
                       isServerCert, module.params["subjectAltNames"])

    isValid = cert.validate_config()

    if isValid["success"]:
        if module.params["state"] == "present":
            isValid = cert.create_certificate()
        else:
            isValid = cert.remove_certificate()

    if not isValid["success"]:
        module.fail_json(msg=isValid["msg"])
    else:
        module.exit_json(**isValid)
コード例 #3
0
def createCert(certname, subj, password, isServerCert):
    print line
    print "Creating certificate for: {}".format(certname)
    cert = Certificate(cadir, certname, subj, password, isServerCert)
    print cert.create_certificate()
    return cert
コード例 #4
0
ファイル: test.py プロジェクト: cjpit/Ansible-OpenSSL
def createCert(certname, subj, password, isServerCert):
    print line
    print "Creating certificate for: {}".format(certname)
    cert = Certificate(cadir, certname, subj, password, isServerCert)
    print cert.create_certificate()
    return cert