Mirror of a valuable repository.
 
 
Go to file
Markus Teufelberger 346c2f55ff Update openssl_signature module (#63)
* Use module_utils from collection, clean up code a bit

 * add DSA keys, because why not...

 * sign/verify was added in pyOpenSSL 0.11 apparently

 * Add signing capability detection to module_utils.crypto.basic

 * Rework feature detection of signature types.

 * Rename parameters to match other modules

 * Add initial version of integration tests

 * fix whitespace in tests

 * More whitespace fixes

 * small fixes for issues in testing

 * Organize integration tests as test matrix

 * another indentation fix to make pep8 happy

 * use openssl pkeyutl when possible, otherwise fall back to openssl dgst

 * More linter fixes

 * openssl pkeyutl -help can apparently return 1

 * ignore errors on openssl call and another try at formatting

 * Remove the OpenSSL calls in tests

 * Add collection name to deprecation notice and deprecate at version 2.0.0

 * Exclude Ed448/25519 tests on pyopenssl

 * revert the collection name in the deprecation notice (breaks 2.9)

 * limit test platforms even more

 * disable FreeBSD DSA and ECC tests

 * Add module name to README

 * rewrite and split into 2 modules instead

 * add module to README and fix whitespace issue

 * remove duplicated tests

 * address review remarks

 * resolve another comment
2020-08-18 15:18:59 +02:00
changelogs openssl_csr: add support for name constraints extension (#92) 2020-08-18 12:23:37 +02:00
meta Prepare release (#75) 2020-07-01 13:49:25 +02:00
plugins Update openssl_signature module (#63) 2020-08-18 15:18:59 +02:00
tests Update openssl_signature module (#63) 2020-08-18 15:18:59 +02:00
.gitignore Porting guide (#67) 2020-06-15 22:26:17 +02:00
CHANGELOG.rst Release 1.0.0 (#82) 2020-07-03 13:35:31 +02:00
COPYING Add proper README and update COPYING (#10) 2020-04-01 15:17:37 +02:00
README.md Update openssl_signature module (#63) 2020-08-18 15:18:59 +02:00
galaxy.yml Next (tentative) release: 1.1.0. 2020-07-03 13:52:59 +02:00
shippable.yml Tests (#94) 2020-07-27 16:43:43 +02:00

README.md

Ansible Community Crypto Collection

Shippable build status Codecov

Provides modules for Ansible for various cryptographic operations.

Tested with Ansible

Tested with both the current Ansible 2.9 and 2.10 releases and the current development version of Ansible. Ansible versions before 2.9.10 are not supported.

External requirements

The exact requirements for every module are listed in the module documentation.

Most modules require a recent enough version of the Python cryptography library. See the module documentations for the minimal version supported for each module.

Included content

  • OpenSSL / PKI modules:
    • openssl_csr_info
    • openssl_csr
    • openssl_dhparam
    • openssl_pkcs12
    • openssl_privatekey_info
    • openssl_privatekey
    • openssl_publickey
    • openssl_signature_info
    • openssl_signature
    • x509_certificate_info
    • x509_certificate
    • x509_crl_info
    • x509_crl
    • certificate_complete_chain
  • OpenSSH modules:
    • openssh_cert
    • openssh_keypair
  • ACME modules:
    • acme_account_info
    • acme_account
    • acme_certificate
    • acme_certificate_revoke
    • acme_challenge_cert_helper
    • acme_inspect
  • ECS modules:
    • ecs_certificate
    • ecs_domain
  • Miscellaneous modules:
    • get_certificate
    • luks_device

Using this collection

Before using the crypto community collection, you need to install the collection with the ansible-galaxy CLI:

ansible-galaxy collection install community.crypto

You can also include it in a requirements.yml file and install it via ansible-galaxy collection install -r requirements.yml using the format:

collections:
- name: community.crypto

See Ansible Using collections for more details.

Contributing to this collection

We're following the general Ansible contributor guidelines; see Ansible Community Guide.

If you want to clone this repositority (or a fork of it) to improve it, you can proceed as follows:

  1. Create a directory ansible_collections/community;
  2. In there, checkout this repository (or a fork) as crypto;
  3. Add the directory containing ansible_collections to your ANSIBLE_COLLECTIONS_PATH.

See Ansible's dev guide for more information.

Release notes

See the changelog.

Roadmap

We plan to regularly release minor and patch versions, whenever new features are added or bugs fixed. Our collection follows semantic versioning, so breaking changes will only happen in major releases.

Most modules will drop PyOpenSSL support in version 2.0.0 of the collection, i.e. in the next major version. We currently plan to release 2.0.0 somewhen during 2021. Around then, the supported versions of the most common distributions will contain a new enough version of cryptography.

Once 2.0.0 has been released, bugfixes will still be backported to 1.0.0 for some time, and some features might also be backported. If we do not want to backport something ourselves because we think it is not worth the effort, backport PRs by non-maintainers are usually accepted.

In 2.0.0, the following notable features will be removed:

  • PyOpenSSL backends of all modules, except openssl_pkcs12 which does not have a cryptography backend due to lack of support of PKCS#12 functionality in cryptography.
  • The assertonly provider of x509_certificate will be removed.

More information

Licensing

GNU General Public License v3.0 or later.

See COPYING to see the full text.