diff --git a/.github/workflows/pythonapp.yml b/.github/workflows/pythonapp.yml index 8d15098..bc97854 100644 --- a/.github/workflows/pythonapp.yml +++ b/.github/workflows/pythonapp.yml @@ -12,7 +12,7 @@ jobs: - name: Set up Python 3.7 uses: actions/setup-python@v1 with: - python-version: 3.7 + python-version: 2.7 - name: Install dependencies run: | python -m pip install --upgrade pip diff --git a/.gitignore b/.gitignore index fde6770..e05d2f3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ dist/* +__* CSR_Generator.egg-info/* *.log +*.csr +*.key diff --git a/README.md b/README.md index 2a5a91b..812b265 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,8 @@ Generate a key, self-signed certificate, and certificate request. ## Information -You'll notice there is only one version of python scripts. This can be used with both python(2.7) and python(3.5). +This script is for Python 2.7. Due to how the input() function has changed between python2 and python3, this +script is not backwards compatible at this time. ## Installation / Dependencies The following modules are required: diff --git a/csr_tools/csrgen.py b/csrgen.py similarity index 97% rename from csr_tools/csrgen.py rename to csrgen.py index c156093..989683a 100755 --- a/csr_tools/csrgen.py +++ b/csrgen.py @@ -8,14 +8,14 @@ # Usage: csrgen -n -s # # If you want to generate multiple CSRs, you can use the -f command to -# feed in a .yaml file via the CLI. See the example sample.yaml in this +# feed in a .yaml file via the CLI. See the example samples/sample-file.yaml in this # repository for examples. # # If you want to predefine some of your CSR attributes, you can use the -u command -# to feed in a .yaml file via the CLI. See the example csr.yaml in this repository +# to feed in a .yaml file via the CLI. See the example samples/csr-sample-unattended.yaml in this repository # for examples. # -# Author: Courtney Cotton 06-25-2014, Updated 8-9-2017 +# Author: Cotton Beckfield 06-25-2014, Updated 01-20-2020 # Author: Ben Mz Updated 06-15-2018 # Libraries/Modules @@ -295,6 +295,7 @@ class Authority(Certificate): def main(argv): + print(argv) # Define default values VERBOSE = False LOG_FILE = "./certGen.log" diff --git a/csrgen.pyc b/csrgen.pyc new file mode 100644 index 0000000..1bb239c Binary files /dev/null and b/csrgen.pyc differ diff --git a/csrgen_test.py b/csrgen_test.py new file mode 100644 index 0000000..b540e74 --- /dev/null +++ b/csrgen_test.py @@ -0,0 +1,39 @@ +import pytest +import csrgen +import logging + +def import_logging(): + logger = logging.getLogger('certgen') + hdlr = logging.handlers.TimedRotatingFileHandler("csrgen_test.log", when="midnight", backupCount=3) + formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s') + hdlr.setFormatter(formatter) + logger.addHandler(hdlr) + logger.setLevel("WARN") + + return logger + +# Test that if a file is supplied (../samples/sample-file.yaml) the code does # +# exit with an error. + +def test_load_nodes(): + logger = import_logging() + cert = csrgen.Certificate(logger, {'verbose': False, 'size': '2048', 'C': 'Te', 'ST': 'PACA', 'L': 'Gap', 'O': 'ProHacktive SAS', 'OU': 'prohacktive.io'}) + result = cert.loadNodes("samples/sample-file.yaml") + +def test_load_defaults(): + logger = import_logging() + cert = csrgen.Certificate(logger, {'verbose': False, 'size': '2048'}) + result = cert.loadDefaults("samples/csr-sample-unattended.yaml") + +def test_generate_csr(): + logger = import_logging() + cert = csrgen.Certificate(logger, {'verbose': False, 'size': '2048', 'hostname': 'test-csr.edu', 'sans': 'test-csr-sans.edu', + 'C': 'Te', 'ST': 'PACA', 'L': 'Gap', 'O': 'ProHacktive SAS', 'OU': 'prohacktive.io'}) + result = cert.generateCSR() + +# Test that if a file is supplied and a ../samples/csr-sample-unattended.yaml is supplied +# that the code does not exit. + +# Test that if someone supplies -n the code does not exit. + +# Test that if someone supplies a -n and a -s that the code does not exit. diff --git a/csr-sample.yaml b/samples/csr-sample-unattended.yaml similarity index 100% rename from csr-sample.yaml rename to samples/csr-sample-unattended.yaml diff --git a/sample.yaml b/samples/sample-file.yaml similarity index 100% rename from sample.yaml rename to samples/sample-file.yaml