2022-08-05 14:03:38 +02:00
|
|
|
# Copyright (c) Ansible Project
|
|
|
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
|
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
|
Update java_cert module (#2008)
* porting https://github.com/ansible/ansible/pull/56778 as requested in https://github.com/ansible-collections/community.general/issues/821
* fix imports, add back trust_cacerts option
* try to fix import, ansible-lint fixes
* modify import to use ansible.module_utils.six instead
* cleanup indentation for tests/integration/targets/java_cert/tasks/main.yml file
* remove external crypto dependency - switch to openssl, work on password obfuscation, using files compare to reduce logic
* java_cert - remove latest run_command using password in arguments
* fix sanity check
* rename changelog fragment file - wrong extension
* add openssl dependency
* fix openssl_bin parameter missing on _get_digest_from_x509_file function call
* remove useless close files, fix paragraph, fix changelog, clean import re
* fix missing dots at end-of-line in changelogs fragments
* fix reminder case
* fix changelog
* restore .gitignore
* fix indentation on integration test files, delete useless json file
* fix typo importing tasks in tests/integration/targets/java_cert/tasks/main.yml
* Update changelogs/fragments/2008-update-java-cert-replace-cert-when-changed.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update tests/integration/targets/java_cert/tasks/state_change.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/java_cert.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/java_cert.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/java_cert.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/java_cert.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/java_cert.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/java_cert.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/java_cert.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix hardcoded executable keytool, use re.sub instead of import, add required cert_url or cert_alias parameter when absent, fix python script and cert_url test
* fix pylint issue with setupSSLServeR.py
Co-authored-by: Felix Fontein <felix@fontein.de>
2021-04-07 19:31:58 +02:00
|
|
|
from __future__ import (absolute_import, division, print_function)
|
|
|
|
__metaclass__ = type
|
|
|
|
import ssl
|
|
|
|
import os
|
|
|
|
import sys
|
|
|
|
|
|
|
|
root_dir = sys.argv[1]
|
|
|
|
port = int(sys.argv[2])
|
|
|
|
|
|
|
|
try:
|
|
|
|
from BaseHTTPServer import HTTPServer
|
|
|
|
from SimpleHTTPServer import SimpleHTTPRequestHandler
|
|
|
|
except ModuleNotFoundError:
|
|
|
|
from http.server import HTTPServer, SimpleHTTPRequestHandler
|
|
|
|
|
|
|
|
httpd = HTTPServer(('localhost', port), SimpleHTTPRequestHandler)
|
2023-11-18 14:34:13 +01:00
|
|
|
try:
|
|
|
|
httpd.socket = ssl.wrap_socket(httpd.socket, server_side=True,
|
|
|
|
certfile=os.path.join(root_dir, 'cert.pem'),
|
|
|
|
keyfile=os.path.join(root_dir, 'key.pem'))
|
|
|
|
except AttributeError:
|
|
|
|
# Python 3.12 or newer:
|
|
|
|
context = ssl.create_default_context(purpose=ssl.Purpose.CLIENT_AUTH)
|
|
|
|
context.load_cert_chain(certfile=os.path.join(root_dir, 'cert.pem'),
|
|
|
|
keyfile=os.path.join(root_dir, 'key.pem'))
|
|
|
|
httpd.socket = context.wrap_socket(httpd.socket)
|
Update java_cert module (#2008)
* porting https://github.com/ansible/ansible/pull/56778 as requested in https://github.com/ansible-collections/community.general/issues/821
* fix imports, add back trust_cacerts option
* try to fix import, ansible-lint fixes
* modify import to use ansible.module_utils.six instead
* cleanup indentation for tests/integration/targets/java_cert/tasks/main.yml file
* remove external crypto dependency - switch to openssl, work on password obfuscation, using files compare to reduce logic
* java_cert - remove latest run_command using password in arguments
* fix sanity check
* rename changelog fragment file - wrong extension
* add openssl dependency
* fix openssl_bin parameter missing on _get_digest_from_x509_file function call
* remove useless close files, fix paragraph, fix changelog, clean import re
* fix missing dots at end-of-line in changelogs fragments
* fix reminder case
* fix changelog
* restore .gitignore
* fix indentation on integration test files, delete useless json file
* fix typo importing tasks in tests/integration/targets/java_cert/tasks/main.yml
* Update changelogs/fragments/2008-update-java-cert-replace-cert-when-changed.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update tests/integration/targets/java_cert/tasks/state_change.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/java_cert.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/java_cert.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/java_cert.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/java_cert.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/java_cert.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/java_cert.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/java_cert.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix hardcoded executable keytool, use re.sub instead of import, add required cert_url or cert_alias parameter when absent, fix python script and cert_url test
* fix pylint issue with setupSSLServeR.py
Co-authored-by: Felix Fontein <felix@fontein.de>
2021-04-07 19:31:58 +02:00
|
|
|
httpd.handle_request()
|