Commit Graph

91 Commits (b3f062b5ca04707ff6df076fc85f1cba0c4cc61e)

Author SHA1 Message Date
Felix Fontein 65d5f1a4ef Fix stacktrace when fail_on_error is False and a file cannot be parsed. (#49987) 2018-12-16 15:26:29 -05:00
John Westcott IV 6469baf460 Added get_certificate module (#41735)
* Added get_certificate module.

* Fixed test against bogus_ca.pem file
2018-12-07 13:27:16 +00:00
Felix Fontein b0c7efcc6b ACME: add diff to acme_account, account_public_key to acme_account_facts, and general refactoring (#49410)
* Only one exit point.

* Refactoring account handling.

* Add diff support for acme_account.

* Insert public_account_key into acme_account_facts result and into acme_account diff.

* Add changelog.
2018-12-02 18:40:14 +01:00
Felix Fontein 2bd8e47247 add acme_inspect module (#48444) 2018-11-30 08:26:18 +01:00
Felix Fontein 3726d467ec Code style adjustment. (#49329) 2018-11-29 21:57:32 +01:00
Felix Fontein 3a9eadb22f Updating argument_spec for type='list' options by elements value. (#48485) 2018-11-26 10:17:25 -05:00
Felix Fontein de1c9c53c3 update value in acme_certificate route53 example
fixes #49032

Co-Authored-By: endorama <endorama@users.noreply.github.com>
2018-11-23 07:50:28 -05:00
Edoardo T b30d2ce9e5 add state parameter to route53 module
<!--- Your description here -->

route53 module state parameter is required (https://docs.ansible.com/ansible/latest/modules/route53_module.html#parameters), so the example is not working out of the box in ansible.

Required state parameters has been introduced in commit 698fa37a44 (698fa37a44)

+label: docsite_pr
2018-11-23 07:50:28 -05:00
s3lph 5b1c68579d Type error in openssl_certificate (#47508)
* Fixed #47505: Type error in openssl_certificate
* Use to_bytes instead of str.encode in SelfSignedCertificate. Updates #47508
* Use to_bytes instead of str.encode in OwnCACertificate
* Added integration tests for openssl_certificate: selfsigned_not_before/after and ownca_not_before/after
2018-10-26 09:11:00 +05:30
lolcube eb7f6a5e62 Add openssh_keypair module (#46436)
* add openssh_keypair module
2018-10-24 11:51:45 +01:00
Jordan Borean 6666b070a9
openss: fix various test and Python 3 issues (#47188) 2018-10-18 05:29:18 +10:00
Felix Fontein 77fee07a88 Change with_*: loops to loop: loops. Fix some examples. (#46373) 2018-10-03 02:41:34 -04:00
Felix Fontein 26edeb7cce Refactoring GET request handling. (#45051) 2018-09-04 21:28:04 +02:00
Felix Fontein fec302b162 Fixing typo in acme_certificate docs. (#45082) 2018-09-02 13:01:45 -04:00
lolcube 1fac494d8c fix typo (#44712) 2018-08-27 14:35:53 +02:00
Felix Fontein fadf8a2d09 ACME: improve documentation (#44691)
* Override description for account_key_src and account_key_content to also mention private_key_*.

* Convert generic OpenSSL/cryptography remark from description to note.

This avoids the whole description list to be sorted alphabetically, which will be done by plugin_docs.py in case description is mentioned in both module fragment and module itself.

* Moving more notes to the notes: section.

* Uniformization of first paragraph. Mainly mention ACME supporting CAs, and only then mention Let's Encrypt as one of them.

* Adjusting to current drafts.

* Adjusting to updated drafts.

* Harmonizing short module descriptions.

* Referencing helper modules.

* Move general Let's Encrypt remark to doc fragment.

* Changing some Let's Encrypt references to more generic statements.
2018-08-26 22:46:55 +02:00
Felix Fontein 0e6234ab04 Adding module which allows to complete certificate chains (#44169)
* Adding certificate_complete_chain module.

* Avoid code smell errors.

* Removing input_chain_src.

* Make sure line ending is there.
2018-08-23 23:18:36 +02:00
Guillaume Delpierre 23e44319ce crypto: Add new module openssl_pkcs12 (#27320)
[module] Create new module to handle PKCS#12 file.
2018-08-23 08:15:22 -07:00
Felix Fontein 960d99a785 ACME: new helper module for ACME challenges which need TLS certs (#43756)
* Added helper module for generating ACME challenge certificates.

* Soft-fail on missing cryptography. Also check version.

* Adding integration test.

* Move acme_challenge_cert_helper from web_infrastructure to crypto/acme.

* Adjusting to draft-05.

* The cryptography branch has already been merged.
2018-08-22 23:12:43 +02:00
♫ Christian Krause ♫ d779eb1f15 doc: fixes the the repetitions (#43937)
Wow, this does not seem to be an uncommon misspelling. Might be there
are some left that span over two lines. I noticed the one in the git
module and then used `grep -rw 'the the'` to find some more.
2018-08-22 21:53:30 +02:00
Felix Fontein a99cfc1814 New acme_account_facts module. (#44301) 2018-08-17 15:32:09 +02:00
Felix Fontein cfba02bc3b Allowing to force account URI. (#44282) 2018-08-17 07:43:38 +02:00
Felix Fontein f7ac1c588d Move acme_* modules from web_infrastructure into crypto category (#44279)
* Moving acme_* modules from web_infrastructure into crypto category.

* Creating new subcategory 'acme' in 'crypto'.
2018-08-16 22:21:39 +02:00
Xyon 9121f2a4c9 Validate and reject if csr_path is not supplied when provider is not assertonly (#41385) 2018-07-27 05:24:51 -04:00
Loïc b61b113fb9 new provider: ownca (#35840) 2018-06-21 12:41:00 +05:30
Abhijeet Kasurde 671babd9aa openssl_csr: Update example (#41677)
Update example of Subject Alternative Name with dynamic list.

Fixes: #33676

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-06-20 02:28:59 -04:00
Michael Scherer 5bdd91d75f Return changed=True if a new certificate was written (#41445) 2018-06-12 10:17:29 -04:00
Abhijeet Kasurde b310b278be
Convert valid_date to bytes for conversion (#40872)
Fixes: #40523

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-06-11 19:23:53 +05:30
John R Barker 7c4b91844d
More validate module fixes (#39097)
* Fix type bool DOCUMENTATION issues
2018-04-24 18:05:50 +01:00
Yanis Guenane 99497ce54c openssl_certificate: Handle dump() in check_mode (#38386)
Currently, when ones run the module in check_mode it tries to retrieve
values from the actual certificate generated in the generate() function.

Since in check_mode we call dump() without calling generate(), self.cert
is None, leading to self.cert.get_notBefore(), self.cert.get_notAfter()
and self.cert.get_serial_number() raising an error.

>  NoneType' object has no attribute 'get_notBefore'

The solution is to have two way to handle dump() method, whether its run
in check_mode=True or check_mode=False leading to different way the
information is retrieved.
2018-04-09 09:26:02 +01:00
Yanis Guenane 6633eaa2c1 crypto: Fix incorrect type for privatekey_passphrase (#36868)
Fix incorrect type for privatekey_passphrase path -> str
2018-02-28 17:19:22 +01:00
Michael Scherer eb162bdf7f Add space between arguments for acme-tiny (#36739)
Currently, the module fail with a error saying that --acme-dir is mandatory.
Looking at the commandline:

    /usr/sbin/acme-tiny --chain --account-key /srv/letsencrypt/acme_key/acme.key
    --csr /srv/letsencrypt/nginx_certs/www.example.org.csr--acme-dir /srv/letsencrypt/webroot",

We can see that the space before --acme-dir is missing.
2018-02-26 09:15:17 -05:00
Sam Doran b7f4b89757 Code style words in docs 2018-02-08 15:58:01 -05:00
Yanis Guenane b37549f679 openssl_csr: Improved documentation on subject_alt_name possible values 2018-02-08 15:58:01 -05:00
Felix Fontein d1f19125a5 openssl_csr: added support for the OCSP Must Staple extension (#35082)
* Added support for the OCSP Must Staple extension.

* Trying to clean up magic constants a bit.
2018-02-08 12:03:28 +00:00
Michael Scherer 2efd6bcaac Remove deadcode since diff is never used (#35147)
Flake8 keep warning me about that
2018-02-07 05:03:22 -05:00
Thom Wiggers e2af5dfae0 Module to generate Diffie-Hellman parameters (#32620)
* Module to generate Diffie-Hellman parameters

Implements #32577

* Add integration tests for openssl_dhparam

* Slightly refactor check to prevent unnecessary regeneration

* Fix code smell in tests

Highly annoying to have to do this again and again and again as the rules change during the game

* Using module.run_command() and module.atomic_move() from a tempfile.

* Remove underscore variable

Ansible prefers dummy
2018-01-26 08:08:29 +00:00
Michael Scherer 8071cc0529 Add support for adding the intermediate cert (#35144)
acme-tiny generate certificate without adding add the LE intermediate
certificate, which make several browsers and curl complain.
2018-01-21 15:39:22 -05:00
Michael Scherer 347b5d1e50 write need bytes object on python 3 (#35143)
Otherwise, it fail with:

    Traceback (most recent call last):
      File \"/tmp/ansible_c1zmq3i9/ansible_module_openssl_certificate.py\", line 808, in <module>
        main()
      File \"/tmp/ansible_c1zmq3i9/ansible_module_openssl_certificate.py\", line 787, in main
        certificate.generate(module)
      File \"/tmp/ansible_c1zmq3i9/ansible_module_openssl_certificate.py\", line 692, in generate
        certfile.write(str(crt))
    TypeError: a bytes-like object is required, not 'str'
2018-01-21 06:26:32 -05:00
Michael Scherer f23f277e46 Verify that acme-tiny is present (#35145)
* Verify that acme-tiny is present

* Use run_command rather than subprocess for acme-tiny

Besides consistency with the rest of the code base, this also
add 2 bug fixes:
- ansible should no longer show "warning, junk after json" when using the module
- it also verify the return code of acme-tiny, and so fail when the
verification fail. The previous code didn't check rc, so it would continue
with a empty file
2018-01-21 06:26:18 -05:00
Ulf Tigerstedt fb18338cdc Change documentation for path: in openssl_csr to match reality (#35045) 2018-01-18 09:43:05 -05:00
Yanis Guenane a2b00e9b52 openssl_certificate: Ensure issuer field is set (#34982)
Ensure the Issuer field of the certificate is set when using the
selfsigned backend.

Fixes: https://github.com/ansible/ansible/issues/34963
2018-01-18 13:35:05 +00:00
John R Barker 195beebcb4
Module DOCUMENTATION should match argspec (#34895)
* Module DOCUMENTATION should match argspec

Large update of many modules so that DOCUMENTATION option name and
aliases match those defined in the argspec.

Issues identified by https://github.com/ansible/ansible/pull/34809

In addition to many typos and missing aliases, the following notable
changes were made:

* Create `module_docs_fragments/url.py` for `url_argument_spec`
* `dellos*_command` shouldn't have ever had `waitfor` (was incorrectly copied)
* `ce_aaa_server_host.py` `s/raduis_server_type/radius_server_type/g`
* `Junos_lldp` enable should be part of `state`.
2018-01-16 12:18:51 +00:00
MarkusTeufelberger 10b3431990 expose subject_strict and issuer_strict to users (#34090) 2018-01-04 04:43:37 -05:00
MarkusTeufelberger 070ea3270c add usage example for the assertonly provider (#34092) 2017-12-21 13:38:15 +10:00
Yanis Guenane a724b8e722 openssl_certificate: Return self.cert.get_VALUES() (#33970)
Currently when we make up the return value, we take values based of the
parameters rather than the generated openssl_certificate itself.

This commits returns the actual certificate values making it all time
accurate.
2017-12-18 14:34:34 +05:30
MarkusTeufelberger 9ea1b18ff7 Allow multiple values per key in name fields in openssl_certificate/csr (#30338)
* allow multiple values per key in name fields in openssl_certificate

* check correct side of comparison

* trigger only on lists

* add subject parameter to openssl_csr

* fix key: value mapping not skipping None elements

* temporary fix for undefined "subject" field

* fix iteration over subject entries

* fix docs

* quote sample string

* allow csr with only subject defined

* fix integration test

* look up NIDs before comparing, add hidden _strict params

* deal with empty issuer/subject fields

* adapt integration tests

* also normalize output from pyopenssl

* fix issue with _sanitize_inputs

* don't convert empty lists

* workaround for pyopenssl limitations

* properly encode the input to the txt2nid function

* another to_bytes fix

* make subject, commonname and subjecAltName completely optional

* don't compare hashes of keys in openssl_csr integration tests

* add integration test for old API in openssl_csr

* compare keys directly in certificate and publickey integration tests

* fix typo
2017-12-12 12:35:22 +00:00
Abhijeet Kasurde d78d044142 Fix documentation about mode in openssl_privatekey (#32664)
This fixes adds documentation about undocumented parameter
'mode'. Also, adds logic to specify mode in custom symbolic permissions.

Fixes: #32616

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-12-07 04:47:23 -05:00
Thom Wiggers 04877f4969 Support basicConstraints in openssl_csr (#32632) 2017-11-30 19:20:45 +05:30
Yanis Guenane a773bd7ad5 openssl_publickey: Ensure format OpenSSH is idempotent (#33264)
Currently the check() method for idempotence only assumes the public
key is under the form of a PEM file when its not always the case.

The module openssl_publickey allows one to generate OpenSSH format
publickey. This leads to idempotence not being detected.
2017-11-28 14:08:47 +05:30