Changeset - b68d19ad38a3
[Not reviewed]
0 3 19
Branko Majic (branko) - 7 years ago 2017-07-16 16:39:14
branko@majic.rs
MAR-33: Added initial scaffolding for wsgi_website tests:

- Added Molecule configuration file.
- Implemented test playbook that sets-up three separate instances of WSGI
website in order to test all variations of parameters.
- Added name for the set_fact task.
- Fixed linting errors related to mode that lacks leading zero.
- Added skip_ansible_lint tag for command that creates the Python virtual
environment.
- Added missing become keyword wherever become_user is specified.
- Fixed invalid parameter name for specifying if HTTPS should be enforced or
not.
- Added small initial sample WSGI apps that get deployed.
- Added static/media sample files.
- Added TLS material.
- Added initial dummy test file.
22 files changed with 1218 insertions and 14 deletions:
0 comments (0 inline, 0 general)
roles/wsgi_website/molecule.yml
Show inline comments
 
new file 100644
 
---
 

	
 
dependency: {}
 

	
 
driver:
 
  name: vagrant
 

	
 
vagrant:
 

	
 
  platforms:
 
    - name: debian-jessie64
 
      box: debian/contrib-jessie64
 

	
 
  providers:
 
    - name: virtualbox
 
      type: virtualbox
 
      options:
 
        memory: 512
 
        cpus: 1
 

	
 
  instances:
 
    - name: wsgi-website
 

	
 
verifier:
 
  name: testinfra
roles/wsgi_website/playbook.yml
Show inline comments
 
new file 100644
 
---
 

	
 
- hosts: all
 
  tasks:
 

	
 
    - name: Update all caches to avoid errors due to missing remote archives
 
      apt:
 
        update_cache: yes
 

	
 
    - name: Set-up /etc/hosts entries
 
      lineinfile:
 
        dest: /etc/hosts
 
        line: "{{ ansible_eth0.ipv4.address }} parameters-mandatory parameters-optional.local parameters-paste-req wsgi-website"
 

	
 
    - name: Install curl for testing redirects and webpage content
 
      apt:
 
        name: curl
 
        state: installed
 

	
 
    - name: Install swaks for testing mail forwarding
 
      apt:
 
        name: swaks
 
        state: installed
 

	
 
    - name: Install Postfix for testing mail forwarding (Exim4 not covered)
 
      apt:
 
        name: postfix
 
        state: installed
 

	
 
    - name: Set-up group for an additional user
 
      group:
 
        name: user
 
        state: present
 

	
 
    - name: Set-up additional user for testing mail delivery
 
      user:
 
        name: user
 
        group: user
 
        shell: /bin/bash
 

	
 
- hosts: all
 
  vars:
 
    # common
 
    ca_certificates:
 
      testca: "{{ lookup('file', 'tests/data/x509/ca.cert.pem') }}"
 

	
 
    # web_server
 
    default_https_tls_certificate: "{{ lookup('file', 'tests/data/x509/wsgi-website_https.cert.pem') }}"
 
    default_https_tls_key: "{{ lookup('file', 'tests/data/x509/wsgi-website_https.key.pem') }}"
 

	
 
    # Common parameters (general, not role).
 
    tls_certificate_dir: tests/data/x509/
 
    tls_private_key_dir: tests/data/x509/
 

	
 
  roles:
 
    - role: wsgi_website
 
      fqdn: parameters-mandatory
 
      wsgi_application: testapp:application
 

	
 
    - role: wsgi_website
 
      fqdn: parameters-optional.local
 
      additional_nginx_config:
 
        - comment: Custom missing page.
 
          value: error_page 404 /my/own/error/page;
 
      admin_uid: 5000
 
      enforce_https: no
 
      environment_indicator:
 
        background_colour: "#ff0000"
 
        text_colour: "#00ff00"
 
        text: "parameters-optional"
 
      environment_variables:
 
        MY_ENV_VAR: "My environment variable"
 
      futures_version: 3.1.0
 
      gunicorn_version: 19.7.0
 
      https_tls_certificate: "{{ lookup('file', 'tests/data/x509/parameters-optional.local_https.cert.pem') }}"
 
      https_tls_key: "{{ lookup('file', 'tests/data/x509/parameters-optional.local_https.key.pem') }}"
 
      packages:
 
        - libmariadb-client-lgpl-dev-compat
 
        - global
 
      proxy_headers:
 
        Accept-Encoding: '""'
 
      rewrites:
 
        - '^/rewrite1/(.*) /rewritten1/ last'
 
        - '^/rewrite2/(.*) /rewritten2/$1 last'
 
      static_locations:
 
        - /static/
 
        - /media/
 
      uid: 5001
 
      use_paste: no
 
      virtualenv_packages:
 
        - dnspython
 
        - ptpython
 
      website_mail_recipients: user
 
      wsgi_application: testapp:application
 
      wsgi_requirements: []
 

	
 
    - role: wsgi_website
 
      fqdn: parameters-paste-req
 
      use_paste: yes
 
      wsgi_application: config.ini
 
      wsgi_requirements:
 
        - click==6.7
 
        - Flask==0.12.2
 
        - gunicorn==19.7.1
 
        - itsdangerous==0.24
 
        - Jinja2==2.9.6
 
        - MarkupSafe==1.0
 
        - Paste==2.0.3
 
        - PasteDeploy==1.5.2
 
        - PasteScript==2.0.2
 
        - six==1.10.0
 
        - Werkzeug==0.12.2
 
      https_tls_certificate: "{{ lookup('file', 'tests/data/x509/parameters-paste-req_https.cert.pem') }}"
 
      https_tls_key: "{{ lookup('file', 'tests/data/x509/parameters-paste-req_https.key.pem') }}"
 

	
 

	
 
- hosts: all
 
  tasks:
 
    # parameters-mandatory application
 
    - name: Set-up directories where application files are hosted at
 
      file:
 
        path: "/var/www/parameters-mandatory/{{ item }}"
 
        state: directory
 
        owner: admin-parameters-mandatory
 
        group: web-parameters-mandatory
 
        mode: 02750
 
      with_items:
 
        - htdocs/static
 
        - htdocs/media
 
        - code
 
    - name: Deploy WSGI application
 
      copy:
 
        src: "tests/data/python/wsgi/testapp.py"
 
        dest: "/var/www/parameters-mandatory/code/testapp.py"
 
        owner: admin-parameters-mandatory
 
        group: web-parameters-mandatory
 
        mode: 0640
 
      notify:
 
        - Restart parameters-mandatory
 
    - name: Deploy a static file
 
      copy:
 
        src: "tests/data/static_file.txt"
 
        dest: "/var/www/parameters-mandatory/htdocs/static/static_file.txt"
 
        owner: admin-parameters-mandatory
 
        group: web-parameters-mandatory
 
        mode: 0640
 
    - name: Deploy a media file
 
      copy:
 
        src: "tests/data/media_file.txt"
 
        dest: "/var/www/parameters-mandatory/htdocs/media/media_file.txt"
 
        owner: admin-parameters-mandatory
 
        group: web-parameters-mandatory
 
        mode: 0640
 

	
 
    # parameters-optional application
 
    - name: Set-up directories where application files are hosted at
 
      file:
 
        path: "/var/www/parameters-optional.local/{{ item }}"
 
        state: directory
 
        owner: admin-parameters-optional_local
 
        group: web-parameters-optional_local
 
        mode: 02750
 
      with_items:
 
        - htdocs/static
 
        - htdocs/media
 
        - code
 
    - name: Deploy WSGI application
 
      copy:
 
        src: "tests/data/python/wsgi/testapp.py"
 
        dest: "/var/www/parameters-optional.local/code/testapp.py"
 
        owner: admin-parameters-optional_local
 
        group: web-parameters-optional_local
 
        mode: 0640
 
      notify:
 
        - Restart parameters-optional.local
 
    - name: Deploy a static file
 
      copy:
 
        src: "tests/data/static_file.txt"
 
        dest: "/var/www/parameters-optional.local/htdocs/static/static_file.txt"
 
        owner: admin-parameters-optional_local
 
        group: web-parameters-optional_local
 
        mode: 0640
 
    - name: Deploy a media file
 
      copy:
 
        src: "tests/data/media_file.txt"
 
        dest: "/var/www/parameters-optional.local/htdocs/media/media_file.txt"
 
        owner: admin-parameters-optional_local
 
        group: web-parameters-optional_local
 
        mode: 0640
 

	
 
    # parameters-paste-req application
 
    - name: Set-up directories where application files are hosted at
 
      file:
 
        path: "/var/www/parameters-paste-req/{{ item }}"
 
        state: directory
 
        owner: admin-parameters-paste-req
 
        group: web-parameters-paste-req
 
        mode: 02750
 
      with_items:
 
        - htdocs/static
 
        - htdocs/media
 
        - code
 
    - name: Deploy WSGI application
 
      copy:
 
        src: "tests/data/python/paste/{{ item }}"
 
        dest: "/var/www/parameters-paste-req/code/{{ item }}"
 
        owner: admin-parameters-paste-req
 
        group: web-parameters-paste-req
 
        mode: 0640
 
      with_items:
 
        - config.ini
 
        - testapp.py
 
        - wsgi.py
 
      notify:
 
        - Restart parameters-paste-req
 
    - name: Deploy a static file
 
      copy:
 
        src: "tests/data/static_file.txt"
 
        dest: "/var/www/parameters-paste-req/htdocs/static/static_file.txt"
 
        owner: admin-parameters-paste-req
 
        group: web-parameters-paste-req
 
        mode: 0640
 
    - name: Deploy a media file
 
      copy:
 
        src: "tests/data/media_file.txt"
 
        dest: "/var/www/parameters-paste-req/htdocs/media/media_file.txt"
 
        owner: admin-parameters-paste-req
 
        group: web-parameters-paste-req
 
        mode: 0640
 

	
 
  handlers:
 
    - name: Restart parameters-mandatory
 
      service:
 
        name: parameters-mandatory
 
        state: restarted
 
    - name: Restart parameters-optional.local
 
      service:
 
        name: parameters-optional.local
 
        state: restarted
 
    - name: Restart parameters-paste-req
 
      service:
 
        name: parameters-paste-req
 
        state: restarted
roles/wsgi_website/tasks/main.yml
Show inline comments
 
---
 

	
 
- set_fact:
 
- name: Calculate username and home
 
  set_fact:
 
    admin: "admin-{{ fqdn | replace('.', '_') }}"
 
    user: "web-{{ fqdn | replace('.', '_') }}"
 
    home: "/var/www/{{ fqdn }}"
 
@@ -14,15 +15,15 @@
 

	
 
- name: Set-up directory for storing user profile configuration files
 
  file: path="{{ home }}/.profile.d" state=directory
 
        owner="{{ admin }}" group="{{ user }}" mode=750
 
        owner="{{ admin }}" group="{{ user }}" mode=0750
 

	
 
- name: Deploy profile configuration file for auto-activating the virtual environment
 
  copy: src="profile_virtualenv.sh" dest="{{ home }}/.profile.d/virtualenv.sh"
 
        owner="root" group="{{ user }}" mode="640"
 
        owner="root" group="{{ user }}" mode="0640"
 

	
 
- name: Deploy profile configuration file for setting environment variables
 
  template: src="environment.sh.j2" dest="{{ home }}/.profile.d/environment.sh"
 
            owner="root" group="{{ user }}" mode=640
 
            owner="root" group="{{ user }}" mode=0640
 

	
 
- name: Create WSGI website user
 
  user: name="{{ user }}" uid="{{ uid | default(omit) }}" group="{{ user }}" comment="umask=0007"
 
@@ -37,7 +38,7 @@
 
# file.
 
- name: Set-up forwarding for mails delivered to local application user/admin
 
  template: src="forward.j2" dest="{{ home }}/.forward"
 
            owner="root" group="{{ user }}" mode=640
 
            owner="root" group="{{ user }}" mode=0640
 

	
 
- name: Install extra packages for website
 
  apt: name="{{ item }}" state=present
 
@@ -54,18 +55,25 @@
 
        owner="{{ admin }}" group="{{ user }}" mode="2750"
 

	
 
- name: Create Python virtual environment
 
  become: yes
 
  become_user: "{{ admin }}"
 
  command: /usr/bin/virtualenv --prompt "({{ fqdn }})" "{{ home }}/virtualenv" creates="{{ home }}/virtualenv/bin/activate"
 
  tags:
 
    # [ANSIBLE0012] Commands should not change things if nothing needs doing
 
    #   This task will not fire if the virtual environment has already bene
 
    #   created (thanks to 'creates' parameter).
 
    - skip_ansible_lint
 

	
 
- name: Configure project directory for the Python virtual environment
 
  template: src="venv_project.j2" dest="{{ home }}/virtualenv/.project"
 
            owner="{{ admin }}" group="{{ user }}" mode="640"
 
            owner="{{ admin }}" group="{{ user }}" mode="0640"
 

	
 
- name: Deploy virtualenv wrapper
 
  template: src="venv_exec.j2" dest="{{ home }}/virtualenv/bin/exec"
 
            owner="{{ admin }}" group="{{ user }}" mode="750"
 
            owner="{{ admin }}" group="{{ user }}" mode="0750"
 

	
 
- name: Install WSGI server
 
  become: yes
 
  become_user: "{{ admin }}"
 
  pip: name="{{ item.package }}" version="{{ item.version }}" state=present virtualenv="{{ home }}/virtualenv"
 
  with_items:
 
@@ -81,6 +89,7 @@
 
  when: "wsgi_requirements"
 

	
 
- name: Install additional packages in Python virtual environment
 
  become: yes
 
  become_user: "{{ admin }}"
 
  pip: name="{{ item }}" state=present virtualenv="{{ home }}/virtualenv"
 
  with_items: "{{ virtualenv_packages }}"
 
@@ -89,14 +98,14 @@
 

	
 
- name: Deploy systemd socket configuration for website
 
  template: src="systemd_wsgi_website.socket.j2" dest="/etc/systemd/system/{{ fqdn }}.socket"
 
            owner=root group=root mode=644
 
            owner=root group=root mode=0644
 
  notify:
 
    - Reload systemd
 
    - "Restart website {{ fqdn }}"
 

	
 
- name: Deploy systemd service configuration for website
 
  template: src="systemd_wsgi_website.service.j2" dest="/etc/systemd/system/{{ fqdn }}.service"
 
            owner=root group=root mode=644
 
            owner=root group=root mode=0644
 
  notify:
 
    - Reload systemd
 
    - "Restart website {{ fqdn }}"
 
@@ -110,23 +119,23 @@
 

	
 
- name: Deploy nginx TLS private key for website
 
  copy: dest="/etc/ssl/private/{{ fqdn }}_https.key" content="{{ https_tls_key }}"
 
        mode=640 owner=root group=root
 
        mode=0640 owner=root group=root
 
  notify:
 
    - Restart nginx
 

	
 
- name: Deploy nginx TLS certificate for website
 
  copy: dest="/etc/ssl/certs/{{ fqdn }}_https.pem" content="{{ https_tls_certificate }}"
 
        mode=644 owner=root group=root
 
        mode=0644 owner=root group=root
 
  notify:
 
    - Restart nginx
 

	
 
- name: Deploy configuration file for checking certificate validity via cron
 
  copy: content="/etc/ssl/certs/{{ fqdn }}_https.pem" dest="/etc/check_certificate/{{ fqdn }}_https.conf"
 
        owner=root group=root mode=644
 
        owner=root group=root mode=0644
 

	
 
- name: Deploy nginx configuration file for website
 
  template: src="nginx_site.j2" dest="/etc/nginx/sites-available/{{ fqdn }}"
 
            owner=root group=root mode=640 validate="/usr/local/bin/nginx_verify_site.sh -n '{{ fqdn }}' %s"
 
            owner=root group=root mode=0640 validate="/usr/local/bin/nginx_verify_site.sh -n '{{ fqdn }}' %s"
 
  notify:
 
    - Restart nginx
 

	
roles/wsgi_website/tasks/requirements.yml
Show inline comments
 
@@ -12,11 +12,13 @@
 
    - wsgi_requirements.txt
 

	
 
- name: Deploy Gunicorn requirements file for installation purposes
 
  become: yes
 
  become_user: "{{ admin }}"
 
  template: src="wsgi_requirements.txt.j2" dest="{{ home }}/.wsgi_requirements.txt"
 
            owner="{{ admin }}" group="{{ user }}" mode="640"
 

	
 
- name: Install Gunicorn via requirements file
 
  become: yes
 
  become_user: "{{ admin }}"
 
  pip: requirements="{{ home }}/.wsgi_requirements.txt" state=present virtualenv="{{ home }}/virtualenv"
 
  notify:
roles/wsgi_website/templates/nginx_site.j2
Show inline comments
 
@@ -25,7 +25,7 @@ server {
 
    ssl_certificate_key /etc/ssl/private/{{ fqdn }}_https.key;
 
    ssl_certificate /etc/ssl/certs/{{ fqdn }}_https.pem;
 

	
 
{% if default_enforce_https -%}
 
{% if enforce_https -%}
 
    # Set-up HSTS header for preventing downgrades for users that visited the
 
    # site via HTTPS at least once.
 
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
roles/wsgi_website/tests/data/media_file.txt
Show inline comments
 
new file 100644
 
Media file.
roles/wsgi_website/tests/data/python/paste/config.ini
Show inline comments
 
new file 100644
 
[app:main]
 
paste.app_factory = wsgi:app_factory
 

	
 
[server:main]
 
use = egg:PasteScript#wsgiutils
 
port = 8000
 
\ No newline at end of file
roles/wsgi_website/tests/data/python/paste/testapp.py
Show inline comments
 
new file 100644
 
import os
 

	
 
from flask import Flask
 
app = Flask(__name__)
 

	
 

	
 
@app.route('/')
 
def index():
 

	
 
    template = """<!DOCTYPE html>
 
<html lang="en">
 
  <head>
 
    <meta charset="utf-8">
 
    <title>{title}</title>
 
  </head>
 
  <body>
 
    <h1>Hello, world!</h1>
 
    <p>I am website {title}</p>
 
    <p>Accept-Encoding header was set to {acceptencoding}</p>
 
  </body>
 
</html>
 
"""
 
    output = template.format(title=os.environ.get("WEBSITE_NAME", "that nobody set a name for :("),
 
                             acceptencoding=os.environ.get("HTTP_ACCEPT_ENCODING", "HTTP accept encoding not set"))
 

	
 
    return output
roles/wsgi_website/tests/data/python/paste/wsgi.py
Show inline comments
 
new file 100644
 
from testapp import app
 

	
 

	
 
def app_factory(global_config, **local_config):
 

	
 
    return app.wsgi_app
roles/wsgi_website/tests/data/python/wsgi/testapp.py
Show inline comments
 
new file 100644
 
#!/usr/bin/env python
 

	
 
import os
 

	
 
def application(environ, start_response):
 
    status = '200 OK'
 

	
 
    template = """<!DOCTYPE html>
 
<html lang="en">
 
  <head>
 
    <meta charset="utf-8">
 
    <title>{title}</title>
 
  </head>
 
  <body>
 
    <h1>Hello, world!</h1>
 
    <p>I am website {title}</p>
 
    <p>Accept-Encoding header was set to {acceptencoding}</p>
 
  </body>
 
</html>
 
"""
 
    output = template.format(title=os.environ.get("WEBSITE_NAME", "that nobody set a name for :("),
 
                             acceptencoding=os.environ.get("HTTP_ACCEPT_ENCODING", "HTTP accept encoding not set"))
 

	
 
    response_headers = [('Content-type', 'text/html'),
 
                        ('Content-Length', str(len(output)))]
 
    start_response(status, response_headers)
 

	
 
    return [output]
roles/wsgi_website/tests/data/static_file.txt
Show inline comments
 
new file 100644
 
Static file.
roles/wsgi_website/tests/data/x509/ca.cert.pem
Show inline comments
 
new file 100644
 
-----BEGIN CERTIFICATE-----
 
MIIEWTCCAsGgAwIBAgIMWVEJAy6O6Abooz68MA0GCSqGSIb3DQEBCwUAMEgxIjAg
 
BgNVBAMTGUV4YW1wbGUgSW5jLiBUZXN0IFNpdGUgQ0ExFTATBgNVBAoTDEV4YW1w
 
bGUgSW5jLjELMAkGA1UEBhMCU0UwHhcNMTcwNjI2MTMxNTQ3WhcNMzcwNjIxMTMx
 
NTQ3WjBIMSIwIAYDVQQDExlFeGFtcGxlIEluYy4gVGVzdCBTaXRlIENBMRUwEwYD
 
VQQKEwxFeGFtcGxlIEluYy4xCzAJBgNVBAYTAlNFMIIBojANBgkqhkiG9w0BAQEF
 
AAOCAY8AMIIBigKCAYEAufYIYdFLn8Xo8a3c0cUj7s9WEUYKDE6ETmsNFdZee2hK
 
qP2Li9bSr+vPjgMfi2UfxX/+i9x6LGqsIUxXVgrKlOf7R8bFg/runUI+4X1mZMJw
 
dBc1POhjkdfRbtfOdu1LtztW4Pc2tnyrAtmhcNHUCXNGRfDNpFKtIFe4OTA/4/eP
 
1EAyInHNqO2F8UgL8EDUMg9AQd4InVCPYRNlsv9j9qBVMjZiX7hoBC8k1laNkd4T
 
IdV6zet3+M5Fp/W9lvxFI1yPXw/xWM7K9R3nepunKniuGmjBsac/ZHCUFqJaHz5K
 
pXyMpSH1GTXOnIKFOldK4NYOzjCOR9Z+k63oJPZ+c7R9cKAZ7DERhS8X6MiykQ2s
 
hDY68i7HSZd9Dy5oLlH63evbi/tWJSG9mE/UamYuzORKR4PNwixaKQbteiDU59wK
 
azH5yQNGIqMSGkNgSsj9QW2NPkyNskuzCP04f77V/wSpum5PIygyuLidge9A+Vux
 
eb5v7XBS8Zp3Wn78JYrlAgMBAAGjQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0P
 
AQH/BAUDAwcGADAdBgNVHQ4EFgQUN2vbkxxpfpJMa99zhfiEllmBT2swDQYJKoZI
 
hvcNAQELBQADggGBADNZ9eJA3Jm5TJQoDct+FZOc16XZDlteGBxVJj+aQUlBFlJK
 
itvW/reR4SwZF/QRtCIzY7HN0rx0FVvfGR4sIcN2MALG+4Beee5nZR3KsNHhx895
 
5ml7vqfNhnn/3/Gd7quqb2FskALfHAciuL+y0n/KcnnJ/3wZKR6xc5ON1VrwHSyI
 
ENxRC8/oeO9SBc9V5gG5CyELftUiGBE73IIGjV/wXiwBvgwPB+j8vrv5nQrKPsLk
 
b9ngSts/JSdiQH3cIbBpNoWz8Q8OIoQTt99GUKAScJX4UO7W5EHNmcCtCtOpgRg+
 
Y49auOe/6A1n4rsLANZlDelhwCASQtZ04DdFl5QQpTuIOmd4l4KuNpqQ5Px+sxFu
 
oPenBiQkXuQn9rQaFTTSc9jVBoumRp61P0mvoGusRzjYYvdL8zYoH/246eliWgyy
 
60+/lgmDXpwf0a2d3fDTxuBmP1HlJYLUsS6ij+GKGgAOTCGmzygmyPOroDae+XOI
 
G2o8G6ziU8d8RICIng==
 
-----END CERTIFICATE-----
roles/wsgi_website/tests/data/x509/ca.key.pem
Show inline comments
 
new file 100644
 
Public Key Info:
 
	Public Key Algorithm: RSA
 
	Key Security Level: High (3072 bits)
 

	
 
modulus:
 
	00:b9:f6:08:61:d1:4b:9f:c5:e8:f1:ad:dc:d1:c5:23
 
	ee:cf:56:11:46:0a:0c:4e:84:4e:6b:0d:15:d6:5e:7b
 
	68:4a:a8:fd:8b:8b:d6:d2:af:eb:cf:8e:03:1f:8b:65
 
	1f:c5:7f:fe:8b:dc:7a:2c:6a:ac:21:4c:57:56:0a:ca
 
	94:e7:fb:47:c6:c5:83:fa:ee:9d:42:3e:e1:7d:66:64
 
	c2:70:74:17:35:3c:e8:63:91:d7:d1:6e:d7:ce:76:ed
 
	4b:b7:3b:56:e0:f7:36:b6:7c:ab:02:d9:a1:70:d1:d4
 
	09:73:46:45:f0:cd:a4:52:ad:20:57:b8:39:30:3f:e3
 
	f7:8f:d4:40:32:22:71:cd:a8:ed:85:f1:48:0b:f0:40
 
	d4:32:0f:40:41:de:08:9d:50:8f:61:13:65:b2:ff:63
 
	f6:a0:55:32:36:62:5f:b8:68:04:2f:24:d6:56:8d:91
 
	de:13:21:d5:7a:cd:eb:77:f8:ce:45:a7:f5:bd:96:fc
 
	45:23:5c:8f:5f:0f:f1:58:ce:ca:f5:1d:e7:7a:9b:a7
 
	2a:78:ae:1a:68:c1:b1:a7:3f:64:70:94:16:a2:5a:1f
 
	3e:4a:a5:7c:8c:a5:21:f5:19:35:ce:9c:82:85:3a:57
 
	4a:e0:d6:0e:ce:30:8e:47:d6:7e:93:ad:e8:24:f6:7e
 
	73:b4:7d:70:a0:19:ec:31:11:85:2f:17:e8:c8:b2:91
 
	0d:ac:84:36:3a:f2:2e:c7:49:97:7d:0f:2e:68:2e:51
 
	fa:dd:eb:db:8b:fb:56:25:21:bd:98:4f:d4:6a:66:2e
 
	cc:e4:4a:47:83:cd:c2:2c:5a:29:06:ed:7a:20:d4:e7
 
	dc:0a:6b:31:f9:c9:03:46:22:a3:12:1a:43:60:4a:c8
 
	fd:41:6d:8d:3e:4c:8d:b2:4b:b3:08:fd:38:7f:be:d5
 
	ff:04:a9:ba:6e:4f:23:28:32:b8:b8:9d:81:ef:40:f9
 
	5b:b1:79:be:6f:ed:70:52:f1:9a:77:5a:7e:fc:25:8a
 
	e5:
 

	
 
public exponent:
 
	01:00:01:
 

	
 
private exponent:
 
	00:ae:08:f9:f3:41:c2:fa:b6:67:b9:b7:33:50:06:a6
 
	08:5b:76:7b:18:07:53:59:30:2d:8b:b6:65:57:88:79
 
	0a:33:c5:4f:f4:87:5c:f7:34:b9:06:38:2b:e8:1b:b6
 
	fa:33:06:04:9d:b4:2b:8a:e2:12:51:df:76:65:0a:18
 
	69:9f:69:e5:d4:bb:09:37:90:95:10:68:74:f3:bd:1e
 
	53:72:96:d3:19:79:f5:2b:2a:54:c6:a6:6b:c5:c8:3b
 
	70:7e:fd:43:e3:aa:b9:43:b4:0c:ff:cf:d9:6d:12:92
 
	d4:7d:53:a9:25:21:ef:c5:88:4d:1a:8b:48:ca:45:20
 
	fe:91:56:dc:f5:8e:92:df:1c:57:9e:e1:1e:c2:3d:89
 
	0e:8e:03:03:ea:20:f8:02:f2:60:1d:43:e0:0b:d3:44
 
	24:8e:0c:ed:bf:43:f5:bd:49:6b:91:0b:72:a4:f2:3d
 
	2f:8e:cc:3d:54:7e:de:fe:1a:96:41:4e:5d:87:9f:84
 
	5b:3c:92:8c:a7:73:e4:00:6a:13:02:44:d7:ad:89:31
 
	50:ee:d2:ec:af:6e:47:e4:9b:59:3d:93:58:d5:71:1e
 
	64:f7:ac:68:85:ca:86:f7:6a:25:b0:ff:56:77:af:f4
 
	50:43:49:0b:22:31:6b:79:6f:f2:74:df:7c:1b:e1:4d
 
	12:e7:ba:1e:65:38:ad:27:38:3b:50:6d:d0:e6:36:0e
 
	b9:25:27:d8:31:e4:2e:be:01:b4:d8:fe:70:d2:12:ff
 
	bb:7b:3f:f4:dc:51:83:17:33:8e:26:68:d1:89:3e:e5
 
	67:00:72:e0:0f:92:83:ba:62:55:db:ae:84:7d:5e:cc
 
	7f:72:d0:dc:f3:88:9e:22:07:78:9a:e1:4e:e3:34:30
 
	14:56:fb:80:93:f2:be:c3:cd:70:1b:fe:b0:da:41:3c
 
	28:9f:a8:0e:1c:79:1b:52:9a:a8:a8:cf:0e:16:f9:c0
 
	db:99:e9:df:4a:c3:66:7c:4f:a1:27:eb:f0:06:5e:4d
 
	41:
 

	
 
prime1:
 
	00:f7:41:ab:a5:a1:23:37:e6:be:fe:85:e9:96:30:1b
 
	c4:33:50:c8:85:5e:44:46:51:1d:3d:28:8a:21:58:2d
 
	3b:82:11:dc:bc:0d:76:c5:20:45:a2:34:c9:cb:85:3b
 
	de:76:06:bc:c1:9f:4d:39:c3:63:ad:5d:0d:fe:bc:ab
 
	3f:2c:76:67:29:d9:a5:3d:38:af:a3:09:ff:09:ec:e9
 
	15:85:04:e6:70:87:2e:ee:a0:78:26:73:a0:74:60:18
 
	ad:f7:8c:1a:f3:4c:07:53:b9:b8:9d:a6:d1:3f:8b:a3
 
	13:87:16:a0:40:11:36:9b:f4:1e:b1:ba:b9:00:34:15
 
	d2:29:0d:e8:90:f7:c5:dc:c1:93:d3:e5:6e:6c:13:24
 
	0f:11:cb:0d:37:ea:f9:f9:89:8e:91:71:4f:1d:5b:17
 
	f8:aa:94:8d:43:bf:ac:dd:d6:ec:3c:bc:70:d1:51:13
 
	76:77:ef:9a:91:6d:4d:59:32:e6:97:93:d8:bb:14:60
 
	fd:
 

	
 
prime2:
 
	00:c0:89:79:a8:73:86:20:c7:e9:0d:35:56:a4:d0:a8
 
	37:21:76:25:e9:2f:9f:c0:e6:45:f6:27:54:56:4a:dd
 
	0e:c5:43:e4:ec:c5:20:97:16:5b:fc:ef:86:57:b1:e6
 
	ce:8b:e9:58:d4:a4:c3:a0:6d:f6:57:6d:8a:09:eb:d1
 
	de:63:42:81:76:9f:4c:40:f7:48:d3:99:1b:23:7d:eb
 
	8e:52:7b:e8:94:94:f3:d5:49:49:6e:da:38:c2:f6:b6
 
	0e:27:7a:f9:4d:2b:6c:aa:a0:de:c7:b1:78:06:ee:7c
 
	5f:7e:33:6d:05:44:9b:9a:ca:90:12:61:a4:96:46:9b
 
	66:d1:8b:4c:e9:f1:21:2f:6c:26:aa:4f:56:3d:d7:03
 
	8c:bf:33:24:a5:01:f5:87:a3:b2:d9:2b:82:2b:42:c4
 
	5a:5d:40:84:d2:d8:7d:29:6f:69:21:a2:0b:ca:7c:46
 
	34:b7:8f:29:11:2f:62:3e:87:a0:62:50:34:21:89:4a
 
	09:
 

	
 
coefficient:
 
	0b:7d:31:bf:b5:89:0a:c8:2c:28:4c:41:98:ee:6f:55
 
	e5:69:d3:b2:1c:66:c4:da:1d:79:2d:8b:03:28:30:a3
 
	c9:6f:7e:94:a2:72:76:ce:1a:32:27:c6:f9:78:ae:d7
 
	d0:d8:af:a1:76:54:ff:2b:97:a4:5d:b5:ea:f6:a5:b3
 
	08:a1:9c:46:7c:7d:80:38:32:a9:e4:09:7d:b0:e4:1f
 
	e2:e8:e0:ef:84:f4:07:8e:4c:bc:02:72:ad:43:e6:c7
 
	5a:e7:77:d1:81:27:8e:a6:bb:23:dd:14:69:cb:08:02
 
	68:97:b8:ff:7f:c0:4f:43:86:d1:d8:8e:7e:9a:ae:1d
 
	c5:ee:ae:19:03:d9:cb:f1:31:b5:7b:72:6c:cb:f8:d1
 
	c1:07:9a:e5:09:8f:2a:7a:92:4b:e9:1e:a0:7d:aa:ae
 
	bd:87:60:be:77:b7:ab:de:c9:54:13:e9:6a:3c:82:cb
 
	94:e2:4c:bc:35:36:12:d6:0f:e1:77:58:ff:08:4e:38
 
	
 

	
 
exp1:
 
	00:cb:b2:2f:5d:91:45:b9:5d:00:86:20:fe:51:fb:aa
 
	34:55:ee:3c:74:1b:37:f6:12:07:1b:86:55:5d:a9:0e
 
	02:93:62:71:cd:fe:ed:94:f2:c4:4b:20:60:0a:a9:e5
 
	ab:9c:e2:6a:08:bd:5b:5a:b6:0c:5d:1b:67:57:30:49
 
	88:0e:f2:30:85:3a:c7:b5:8b:08:af:31:a2:09:a4:42
 
	55:b7:33:55:40:e9:2d:91:eb:63:70:92:1b:63:24:73
 
	d0:86:3a:c7:4d:1e:9a:7e:b0:67:56:81:c2:ab:2e:37
 
	97:f3:d7:81:07:a6:e6:ad:4e:4d:27:30:64:0e:b5:da
 
	30:3c:20:38:33:8d:dc:54:c4:a9:2b:8d:3d:0e:0e:2a
 
	cb:bb:65:e3:aa:e8:8b:2d:b7:d4:5b:1f:d5:04:a3:32
 
	39:6b:16:5c:d6:ae:87:14:6f:66:49:97:18:fe:68:63
 
	b7:5a:91:6b:6e:59:74:ba:82:83:93:e6:7a:4b:8d:3b
 
	65:
 

	
 
exp2:
 
	17:76:29:1e:ff:c4:ce:65:cd:de:50:2b:98:b5:dc:69
 
	ab:68:2c:42:78:0d:2d:82:61:f0:16:e6:ce:05:1d:5e
 
	d9:66:e6:94:7b:88:f7:20:40:61:58:06:b4:d4:f6:dd
 
	20:6b:74:e9:a4:92:3a:10:6c:3e:47:18:d5:10:a9:68
 
	42:0c:2e:9e:77:d6:e0:eb:c1:32:17:ac:18:ed:15:31
 
	28:97:f4:c5:76:49:28:2a:60:0a:64:09:1a:a8:d9:92
 
	6b:f9:2e:3b:db:18:c8:ca:05:9b:ab:e2:86:65:b5:3e
 
	25:b0:ba:8e:33:c8:0a:5a:b8:a7:a4:c2:5b:95:8b:06
 
	42:6e:89:16:d0:cd:4c:6c:0f:62:1d:7c:d2:d8:4a:94
 
	72:10:17:5d:0c:1a:11:47:3f:59:fb:55:47:54:41:7d
 
	09:73:fd:3b:7c:29:f4:4c:a1:30:fa:00:19:d2:7e:f3
 
	99:92:96:5c:83:bb:a3:06:ff:e2:3b:07:bf:36:6d:91
 
	
 

	
 

	
 
Public Key PIN:
 
	pin-sha256:PbmtyJHWZjCUw6fCLCaAjguYDFU4CDEaD02/yWpD5bI=
 
Public Key ID:
 
	sha256:3db9adc891d6663094c3a7c22c26808e0b980c553808311a0f4dbfc96a43e5b2
 
	sha1:376bdb931c697e924c6bdf7385f8849659814f6b
 

	
 
-----BEGIN RSA PRIVATE KEY-----
 
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
 
-----END RSA PRIVATE KEY-----
roles/wsgi_website/tests/data/x509/parameters-mandatory_https.key
Show inline comments
 
new file 100644
 
Public Key Info:
 
	Public Key Algorithm: RSA
 
	Key Security Level: Medium (2048 bits)
 

	
 
modulus:
 
	00:ba:bc:b6:b0:b8:8f:df:99:7d:db:c0:25:e1:a4:d2
 
	aa:85:7f:c3:a8:96:1d:fa:cb:6f:06:5f:99:2c:e3:52
 
	cf:66:d5:56:35:16:69:7c:96:7a:fe:66:a5:fb:2c:41
 
	da:84:e2:bf:88:65:af:0b:7c:de:5f:78:0c:49:57:bc
 
	b7:f0:1a:c5:1a:43:f7:1a:44:ad:ff:80:9a:15:cb:07
 
	bd:e3:e1:0b:ba:60:8d:07:ee:60:67:24:13:c0:cb:fb
 
	d2:e0:e8:60:06:f4:9c:20:4d:fd:c2:8a:de:1e:e3:bd
 
	9f:38:c7:6c:f4:bb:35:f5:95:8a:68:e7:cd:81:b1:71
 
	3d:f8:96:e9:a6:9c:c1:b2:60:c2:7f:e4:f4:9c:ec:0c
 
	a4:c0:59:b8:06:e7:47:55:a6:19:6a:c4:db:c2:f7:d2
 
	f4:b9:7d:f7:c7:66:39:89:9f:40:56:df:7a:2a:52:a1
 
	0f:f4:16:c3:6c:53:a7:d7:e0:4a:76:c5:f6:e4:fd:17
 
	81:c4:f9:b9:a2:cb:63:f1:ec:48:5a:ef:c5:08:4c:6f
 
	8c:b6:f1:c3:f5:54:df:17:20:f5:aa:ee:e2:28:e2:10
 
	d7:8f:65:29:2a:01:90:31:6f:fe:63:80:ce:93:40:bc
 
	a8:14:94:a1:ed:cc:14:4d:89:9e:80:75:4c:f1:22:bb
 
	8b:
 

	
 
public exponent:
 
	01:00:01:
 

	
 
private exponent:
 
	00:b9:9b:21:2a:fe:07:63:04:39:68:d6:cf:d0:3b:f7
 
	78:ae:40:93:c5:59:90:6a:db:11:7b:90:41:bb:b0:27
 
	7b:26:87:1d:ac:9e:9e:32:cb:8f:6c:95:b2:9c:b9:1c
 
	ab:8a:31:a6:96:78:1b:48:9b:d0:9b:ab:c2:ea:93:5e
 
	6c:a5:26:b6:8a:a8:cb:4f:3c:bc:85:9c:d9:8a:97:c7
 
	16:23:0e:68:8d:d3:b1:da:14:41:95:c2:f2:2f:4b:90
 
	fd:c5:b6:b2:db:b6:fe:07:cd:fd:50:04:9f:4a:ac:aa
 
	a9:3b:d2:5c:a5:d3:fe:8a:1f:1c:f7:b0:8f:3f:3d:93
 
	83:86:6f:1c:63:a2:38:9d:10:61:5d:c6:3d:1f:69:0a
 
	8d:74:b4:4f:86:37:35:7e:18:4a:46:36:6e:bb:c2:e0
 
	41:eb:73:79:4d:31:3d:77:7b:9c:7a:32:9e:23:ec:c7
 
	ea:b8:88:64:04:ab:0c:cf:17:61:9c:52:75:5e:4c:52
 
	00:2f:f2:52:ed:85:34:90:5b:ec:ed:49:54:7d:d8:cd
 
	a5:de:6a:fe:27:0f:95:36:ec:86:7c:48:83:55:65:85
 
	f3:18:2c:6f:c4:f2:67:1a:83:27:16:46:51:2a:65:0c
 
	71:40:60:4e:37:01:32:5d:1f:db:a2:20:3b:95:70:5c
 
	01:
 

	
 
prime1:
 
	00:e0:32:54:65:59:d6:ee:33:df:fb:2d:18:d7:ac:f3
 
	eb:02:55:b6:bb:ee:df:b8:c2:20:0c:34:72:ca:1b:f6
 
	7f:73:32:24:07:6d:36:71:ec:7f:fd:7c:ab:96:69:02
 
	eb:b3:06:f2:93:02:b7:24:bf:42:e8:2f:86:49:ec:1e
 
	3d:ea:f8:e9:49:a2:d1:20:ae:a2:1c:e7:0d:0f:03:d3
 
	0f:d6:1f:e6:95:ad:a1:2a:60:cc:4d:42:0a:61:e3:80
 
	95:11:e9:24:59:ec:be:39:c2:d8:8e:72:bd:65:d3:8a
 
	3a:fe:e5:1a:3b:60:32:06:72:89:28:63:73:d3:fc:33
 
	81:
 

	
 
prime2:
 
	00:d5:3a:0c:a3:2f:c8:ec:8a:54:a3:17:3c:69:16:5f
 
	c5:24:64:9a:7d:6b:b6:45:42:a3:6f:21:54:32:87:75
 
	e1:ce:79:15:00:3d:e2:f9:4a:a3:56:b3:8f:27:42:9f
 
	fb:99:b9:db:54:78:60:39:80:b2:d7:d7:af:d8:21:be
 
	e9:13:a3:75:10:1b:70:6a:76:2c:64:55:b5:49:f4:1a
 
	44:c5:f7:76:f7:2f:e9:0e:f7:59:53:0d:69:8a:90:3a
 
	3c:ce:91:ea:be:5f:41:0e:9a:5b:2a:20:41:e0:0b:48
 
	20:5a:2b:e9:82:6a:36:52:c6:f0:9d:45:06:91:cb:05
 
	0b:
 

	
 
coefficient:
 
	00:aa:63:6b:eb:8e:4c:be:d9:06:22:b5:3b:e0:3e:5d
 
	38:00:0f:93:a5:26:d1:d2:05:2a:a0:54:0c:de:f8:cc
 
	f6:4a:bd:de:ea:fc:a2:bb:32:17:76:3a:2a:df:c2:7d
 
	1e:25:ea:5c:b6:8a:af:24:3d:f4:69:3d:9a:28:e5:3e
 
	88:f9:c6:43:bb:d6:73:ba:68:c0:bc:7f:27:c8:ec:66
 
	08:ae:04:c2:57:5d:08:d9:4d:70:16:ff:08:de:35:38
 
	f4:fc:f1:f3:34:0a:60:0a:ea:1b:b6:6b:43:58:cd:93
 
	55:e7:a3:1d:2c:31:35:8e:e0:a7:cc:a5:2f:01:54:c2
 
	ed:
 

	
 
exp1:
 
	13:fe:c9:22:24:ea:13:62:93:06:5e:d6:49:5e:06:7f
 
	1e:3d:30:c8:00:1c:f9:e8:6e:5d:48:4c:38:94:57:de
 
	b4:12:73:be:29:d2:62:44:ba:81:8c:1d:ed:93:3e:0c
 
	71:72:1c:2e:5a:5e:a5:2b:5d:b7:41:8d:d3:87:f8:86
 
	83:2f:61:f7:0c:4b:64:83:ce:b7:8f:2f:cd:f8:04:59
 
	f4:39:f2:21:c5:53:8b:69:08:af:97:45:3f:c7:bf:8f
 
	0c:02:e4:18:15:12:3e:2a:8f:8f:dc:d1:e1:84:05:5f
 
	0f:9e:b5:41:38:6a:1d:c3:17:52:7f:d4:33:c2:d9:81
 
	
 

	
 
exp2:
 
	00:92:6e:86:25:3f:78:bd:b1:16:04:d6:bd:3e:f2:05
 
	9d:2e:ac:04:48:a3:c3:0d:f7:80:a3:9e:00:e3:9e:91
 
	7f:1c:3b:9d:07:88:78:aa:78:ee:89:69:50:a3:46:a6
 
	f5:b3:91:a6:a5:70:f1:ac:2b:cd:26:5b:d2:40:1c:94
 
	ae:1e:35:7f:fc:2a:cb:dd:e1:00:05:7b:b2:bf:71:ea
 
	e4:56:0b:e7:60:44:3f:ca:6e:65:a2:9a:b0:63:5f:3f
 
	0f:69:51:5e:23:94:e8:e9:ad:69:74:19:a9:03:c2:db
 
	aa:94:22:59:ff:9d:0f:67:73:85:e4:8b:75:c2:83:e9
 
	17:
 

	
 

	
 
Public Key PIN:
 
	pin-sha256:qnrjJeVsbRTJbJQvzhLlL3Jiaht8wuoG+J6gyJLBXHA=
 
Public Key ID:
 
	sha256:aa7ae325e56c6d14c96c942fce12e52f72626a1b7cc2ea06f89ea0c892c15c70
 
	sha1:063739d3f8755e5e2bdd8e51c7392ec27f7122d8
 

	
 
-----BEGIN RSA PRIVATE KEY-----
 
MIIEpQIBAAKCAQEAury2sLiP35l928Al4aTSqoV/w6iWHfrLbwZfmSzjUs9m1VY1
 
Fml8lnr+ZqX7LEHahOK/iGWvC3zeX3gMSVe8t/AaxRpD9xpErf+AmhXLB73j4Qu6
 
YI0H7mBnJBPAy/vS4OhgBvScIE39woreHuO9nzjHbPS7NfWVimjnzYGxcT34lumm
 
nMGyYMJ/5PSc7AykwFm4BudHVaYZasTbwvfS9Ll998dmOYmfQFbfeipSoQ/0FsNs
 
U6fX4Ep2xfbk/ReBxPm5ostj8exIWu/FCExvjLbxw/VU3xcg9aru4ijiENePZSkq
 
AZAxb/5jgM6TQLyoFJSh7cwUTYmegHVM8SK7iwIDAQABAoIBAQC5myEq/gdjBDlo
 
1s/QO/d4rkCTxVmQatsRe5BBu7AneyaHHayenjLLj2yVspy5HKuKMaaWeBtIm9Cb
 
q8Lqk15spSa2iqjLTzy8hZzZipfHFiMOaI3TsdoUQZXC8i9LkP3FtrLbtv4Hzf1Q
 
BJ9KrKqpO9JcpdP+ih8c97CPPz2Tg4ZvHGOiOJ0QYV3GPR9pCo10tE+GNzV+GEpG
 
Nm67wuBB63N5TTE9d3ucejKeI+zH6riIZASrDM8XYZxSdV5MUgAv8lLthTSQW+zt
 
SVR92M2l3mr+Jw+VNuyGfEiDVWWF8xgsb8TyZxqDJxZGUSplDHFAYE43ATJdH9ui
 
IDuVcFwBAoGBAOAyVGVZ1u4z3/stGNes8+sCVba77t+4wiAMNHLKG/Z/czIkB202
 
cex//XyrlmkC67MG8pMCtyS/QugvhknsHj3q+OlJotEgrqIc5w0PA9MP1h/mla2h
 
KmDMTUIKYeOAlRHpJFnsvjnC2I5yvWXTijr+5Ro7YDIGcokoY3PT/DOBAoGBANU6
 
DKMvyOyKVKMXPGkWX8UkZJp9a7ZFQqNvIVQyh3XhznkVAD3i+UqjVrOPJ0Kf+5m5
 
21R4YDmAstfXr9ghvukTo3UQG3BqdixkVbVJ9BpExfd29y/pDvdZUw1pipA6PM6R
 
6r5fQQ6aWyogQeALSCBaK+mCajZSxvCdRQaRywULAoGAE/7JIiTqE2KTBl7WSV4G
 
fx49MMgAHPnobl1ITDiUV960EnO+KdJiRLqBjB3tkz4McXIcLlpepStdt0GN04f4
 
hoMvYfcMS2SDzrePL834BFn0OfIhxVOLaQivl0U/x7+PDALkGBUSPiqPj9zR4YQF
 
Xw+etUE4ah3DF1J/1DPC2YECgYEAkm6GJT94vbEWBNa9PvIFnS6sBEijww33gKOe
 
AOOekX8cO50HiHiqeO6JaVCjRqb1s5GmpXDxrCvNJlvSQByUrh41f/wqy93hAAV7
 
sr9x6uRWC+dgRD/KbmWimrBjXz8PaVFeI5To6a1pdBmpA8LbqpQiWf+dD2dzheSL
 
dcKD6RcCgYEAqmNr645MvtkGIrU74D5dOAAPk6Um0dIFKqBUDN74zPZKvd7q/KK7
 
Mhd2Oirfwn0eJepctoqvJD30aT2aKOU+iPnGQ7vWc7powLx/J8jsZgiuBMJXXQjZ
 
TXAW/wjeNTj0/PHzNApgCuobtmtDWM2TVeejHSwxNY7gp8ylLwFUwu0=
 
-----END RSA PRIVATE KEY-----
roles/wsgi_website/tests/data/x509/parameters-mandatory_https.pem
Show inline comments
 
new file 100644
 
-----BEGIN CERTIFICATE-----
 
MIIEPTCCAqWgAwIBAgIMWWX+oThEKLhgljoeMA0GCSqGSIb3DQEBCwUAMEgxIjAg
 
BgNVBAMTGUV4YW1wbGUgSW5jLiBUZXN0IFNpdGUgQ0ExFTATBgNVBAoTDEV4YW1w
 
bGUgSW5jLjELMAkGA1UEBhMCU0UwHhcNMTcwNzEyMTA0OTA1WhcNMjcwNzEwMTA0
 
OTA1WjBWMTAwLgYDVQQDEydFeGFtcGUgSW5jLiBNYW5kYXRvcnkgUGFyYW1ldGVy
 
cyBTZXJ2ZXIxFTATBgNVBAoTDEV4YW1wbGUgSW5jLjELMAkGA1UEBhMCU0UwggEi
 
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6vLawuI/fmX3bwCXhpNKqhX/D
 
qJYd+stvBl+ZLONSz2bVVjUWaXyWev5mpfssQdqE4r+IZa8LfN5feAxJV7y38BrF
 
GkP3GkSt/4CaFcsHvePhC7pgjQfuYGckE8DL+9Lg6GAG9JwgTf3Cit4e472fOMds
 
9Ls19ZWKaOfNgbFxPfiW6aacwbJgwn/k9JzsDKTAWbgG50dVphlqxNvC99L0uX33
 
x2Y5iZ9AVt96KlKhD/QWw2xTp9fgSnbF9uT9F4HE+bmiy2Px7Eha78UITG+MtvHD
 
9VTfFyD1qu7iKOIQ149lKSoBkDFv/mOAzpNAvKgUlKHtzBRNiZ6AdUzxIruLAgMB
 
AAGjgZgwgZUwDAYDVR0TAQH/BAIwADAfBgNVHREEGDAWghRwYXJhbWV0ZXJzLW1h
 
bmRhdG9yeTATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8BAf8EBQMDB6AAMB0G
 
A1UdDgQWBBQGNznT+HVeXivdjlHHOS7Cf3Ei2DAfBgNVHSMEGDAWgBQ3a9uTHGl+
 
kkxr33OF+ISWWYFPazANBgkqhkiG9w0BAQsFAAOCAYEAlCRoTzsXeTtCf7Uu8oLM
 
HIN4aqboCBshpgeKy8OXIlMQCAE/bCnsfxh8yDThsTXBfFoPwR+DfuAU7ygBauam
 
zUSpfd78rUZDngJjIc+Nb88L71WP/8U2j+L1Ph4m8gcJMV5fUkDJCFtJF4ne5di5
 
JLtFF8iy0+EOR+1ohI3TkUibSa7kpxyBe3dOs2Fi+HYZP+aXsCb1ydJdyg4cHpQS
 
yEDP7rSYICiHZQJ6E/gUeUB4iWyqSnK5KF49oUOiKe0NEqko7yCL91r/2C+HzlFN
 
zpWJMVMSyJg3wK65a7KIhfs1kk6BSrMHlmIRVyK8c3FB0oJPewn9lA4dRzV6tv0K
 
3AUsPbmZUBmJIdUkPLefc4ADxTgiSqMZzmxOIgZ/RWicyavS8lnSF+nt1IfSwBXt
 
bsATIGyJVTkmlpdu+2qBl8h7v25MUyo3ukXTj84v28+mFa5/FJY33m5VEHd2+aBq
 
Unlm+9vAP4g1O+r7dLRe3T0t0vNfPKLUOlTkcf5W5YO8
 
-----END CERTIFICATE-----
roles/wsgi_website/tests/data/x509/parameters-optional.local_https.cert.pem
Show inline comments
 
new file 100644
 
-----BEGIN CERTIFICATE-----
 
MIIEQTCCAqmgAwIBAgIMWWX+owIH0dRWzGCiMA0GCSqGSIb3DQEBCwUAMEgxIjAg
 
BgNVBAMTGUV4YW1wbGUgSW5jLiBUZXN0IFNpdGUgQ0ExFTATBgNVBAoTDEV4YW1w
 
bGUgSW5jLjELMAkGA1UEBhMCU0UwHhcNMTcwNzEyMTA0OTA3WhcNMjcwNzEwMTA0
 
OTA3WjBVMS8wLQYDVQQDEyZFeGFtcGUgSW5jLiBPcHRpb25hbCBQYXJhbWV0ZXJz
 
IFNlcnZlcjEVMBMGA1UEChMMRXhhbXBsZSBJbmMuMQswCQYDVQQGEwJTRTCCASIw
 
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKo0rwzP67ZQUMSWOPXLAjQ7cLqY
 
qyPtv8UdTfGpB7LavRVG306p7N52yKnkaYHk1P28jci3qSOddmt2vMg5T+LFOQEH
 
kpHxqfPWy9ioxiPICn7Z6ilGIGH8SVn4WJEM4OY3F6XSMt8Fwdey6PorumXa7C0s
 
J5eFGWBjh57Fg3kPQcndRd2i7FmhiKg14a7slAq5AmerofxMrpZFwDd7a+2ueuzO
 
fgLwJ2lQCICUyRv3HVVqnSrR3q8BLWZrbLwZf38GWMTy0YOkGibBJZG8RzJs1iJo
 
Bhsr0VoMY75SYZtI7UnF1gUkeGLR3sZdioTZt6D9ipChZjTJKuR3y0xO1V8CAwEA
 
AaOBnTCBmjAMBgNVHRMBAf8EAjAAMCQGA1UdEQQdMBuCGXBhcmFtZXRlcnMtb3B0
 
aW9uYWwubG9jYWwwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0PAQH/BAUDAweg
 
ADAdBgNVHQ4EFgQUV6rq4b7nLV9GXS7L3IELPWdaSb0wHwYDVR0jBBgwFoAUN2vb
 
kxxpfpJMa99zhfiEllmBT2swDQYJKoZIhvcNAQELBQADggGBAClLpu+mYREnisjA
 
yfV43RbxlFqvY3XDInMU8CgMoij4WBH3QoAn8MQ9wCh+4mFseNMiAauhtxhaztA+
 
omGPhqJ6w1JCdH9tuzOTbFAsmCOA5MnhR0GyMFdgp08i3lowo9NFmWGJNeemLX0j
 
B3piVC4BFakg1Oh1Ep6J5Lgzmsb1yktn5DObJXNJNODWRgOMUfITwlpPiiTupV27
 
IVxUoJMQwHeKsVY3uUPOLepq32tHIGBn11R2gpQNHpuSRR8bMUorRO7+m3tL2oXT
 
zOWmqkxZVk4CVRvNwQl3THYChTqH9NF6hcRFnkkK8Ovd96MbkZPLpzS3ealsDsVD
 
GXvBnvqbsbeka/EIvspm7q/4mDzOJU/SHR7AYW00zXcPOgzUCE4ztIfmOQyen3p9
 
E3cUFpe+P1bYNEuBJiJDp1eQuVFcPXFC/Ev78t/o3rW5Mq+6fl30iCOeteu3Sft5
 
EGigtDMMS7pu6jaQdl+EF6CTbeDNc6dfllvlHXUNrn9c6huoXg==
 
-----END CERTIFICATE-----
roles/wsgi_website/tests/data/x509/parameters-optional.local_https.key.pem
Show inline comments
 
new file 100644
 
Public Key Info:
 
	Public Key Algorithm: RSA
 
	Key Security Level: Medium (2048 bits)
 

	
 
modulus:
 
	00:aa:34:af:0c:cf:eb:b6:50:50:c4:96:38:f5:cb:02
 
	34:3b:70:ba:98:ab:23:ed:bf:c5:1d:4d:f1:a9:07:b2
 
	da:bd:15:46:df:4e:a9:ec:de:76:c8:a9:e4:69:81:e4
 
	d4:fd:bc:8d:c8:b7:a9:23:9d:76:6b:76:bc:c8:39:4f
 
	e2:c5:39:01:07:92:91:f1:a9:f3:d6:cb:d8:a8:c6:23
 
	c8:0a:7e:d9:ea:29:46:20:61:fc:49:59:f8:58:91:0c
 
	e0:e6:37:17:a5:d2:32:df:05:c1:d7:b2:e8:fa:2b:ba
 
	65:da:ec:2d:2c:27:97:85:19:60:63:87:9e:c5:83:79
 
	0f:41:c9:dd:45:dd:a2:ec:59:a1:88:a8:35:e1:ae:ec
 
	94:0a:b9:02:67:ab:a1:fc:4c:ae:96:45:c0:37:7b:6b
 
	ed:ae:7a:ec:ce:7e:02:f0:27:69:50:08:80:94:c9:1b
 
	f7:1d:55:6a:9d:2a:d1:de:af:01:2d:66:6b:6c:bc:19
 
	7f:7f:06:58:c4:f2:d1:83:a4:1a:26:c1:25:91:bc:47
 
	32:6c:d6:22:68:06:1b:2b:d1:5a:0c:63:be:52:61:9b
 
	48:ed:49:c5:d6:05:24:78:62:d1:de:c6:5d:8a:84:d9
 
	b7:a0:fd:8a:90:a1:66:34:c9:2a:e4:77:cb:4c:4e:d5
 
	5f:
 

	
 
public exponent:
 
	01:00:01:
 

	
 
private exponent:
 
	0b:cf:19:f2:16:9e:f1:08:43:82:50:35:e5:7f:cf:48
 
	56:73:6c:ce:d8:d8:e6:4e:ee:db:28:a4:42:a9:01:14
 
	c2:17:ae:d2:21:80:12:aa:20:ad:ad:73:e6:8a:17:99
 
	5b:7d:70:8c:e3:89:3d:aa:58:23:fe:99:fc:7e:55:77
 
	93:5d:70:1f:d9:60:7c:d6:e0:cf:1f:57:89:e6:2d:67
 
	5c:ab:0e:6d:7b:ad:9c:e3:8f:80:7b:58:8a:b4:8d:a3
 
	30:f5:d3:93:32:b1:4a:dd:f8:64:01:ca:be:48:b8:67
 
	06:b8:6a:2d:ed:15:4b:2b:c6:8f:41:42:97:cb:96:63
 
	86:9d:56:86:bf:77:5e:78:b5:25:fa:3f:2f:3d:6b:35
 
	0b:55:28:35:eb:b9:21:0a:a6:d2:9f:01:2d:85:7b:0b
 
	13:a5:2f:fc:c6:cd:30:c4:11:5d:4d:10:53:58:c5:3c
 
	3e:c4:33:4d:fc:d2:87:39:32:07:fc:33:17:87:cf:fe
 
	97:80:6a:3e:ee:23:f1:3b:c1:bf:75:3d:f4:5e:66:a0
 
	4e:bb:5d:e1:19:0b:46:8c:d0:2c:c3:af:67:4a:cd:2a
 
	af:75:e7:5a:9b:3c:20:2d:b1:0c:50:6f:cd:df:63:58
 
	92:e1:d9:54:71:56:49:b2:f6:15:8b:20:ea:8e:f1:b1
 
	
 

	
 
prime1:
 
	00:c8:e0:d2:f7:f9:60:de:bc:3f:0e:13:b5:d8:95:82
 
	45:bb:8c:bd:4f:5e:ce:f5:cd:86:65:c6:bc:57:18:74
 
	29:5f:24:ac:73:a9:91:83:cc:af:b5:bb:1b:09:7f:22
 
	48:bd:0d:e1:54:00:9e:38:12:a5:af:1b:5d:68:41:7f
 
	f4:29:2c:09:0f:c7:2d:d4:fb:93:bd:37:3b:17:30:f1
 
	9e:2c:89:77:28:7c:32:25:a6:23:8a:14:c4:20:4c:cf
 
	c1:98:e6:c3:f6:f4:b8:d8:3a:f9:35:34:eb:cf:16:29
 
	aa:3b:04:28:0f:33:50:d1:2f:28:3e:ff:0f:91:c1:16
 
	59:
 

	
 
prime2:
 
	00:d8:e9:33:82:fb:d7:6c:40:90:e3:72:42:95:7a:ca
 
	62:a8:e7:b8:9e:b1:a8:06:57:14:13:1d:e8:50:d6:b0
 
	cb:df:2b:b5:68:04:21:b9:c0:e7:5a:c5:56:a8:55:b5
 
	9c:cf:64:6a:24:0e:30:f2:20:33:1d:8e:29:39:db:85
 
	32:68:8b:55:e1:a0:5b:b5:6e:6c:72:0a:6d:74:d6:7f
 
	08:6f:9c:4c:dc:9f:57:00:a5:75:23:ac:b5:74:1c:50
 
	42:36:92:07:6a:99:cf:41:3e:20:f3:cd:3a:a7:0a:67
 
	50:53:c3:e3:14:90:1a:bc:51:56:90:02:4e:85:ce:c2
 
	77:
 

	
 
coefficient:
 
	39:5e:cf:1f:d8:53:3f:67:b4:63:b2:9f:65:db:a4:94
 
	50:a8:19:59:64:ad:88:17:65:16:6f:49:aa:1a:e0:e4
 
	ea:aa:7e:0b:6f:ea:4c:6a:32:3d:2a:89:7d:7e:33:20
 
	d1:d3:9a:97:de:ba:33:0e:a0:3f:9f:43:ee:01:9e:eb
 
	be:67:97:8c:4e:ce:21:44:c2:db:8a:3c:d7:11:26:b3
 
	df:ba:c8:a0:a5:20:80:10:91:6c:08:8b:0d:85:22:45
 
	f1:43:5a:a1:4f:d4:7a:fd:88:f2:95:e3:c0:65:d2:a8
 
	22:de:01:3f:cf:14:73:9a:47:3a:ca:f5:dc:d1:0f:e3
 
	
 

	
 
exp1:
 
	37:97:88:ab:19:b7:c6:4c:80:82:cb:cf:a2:8d:d5:cc
 
	a8:97:cd:78:5e:bb:95:e8:f8:0d:c8:8f:2c:e7:56:96
 
	70:7f:3c:be:91:a9:f4:b8:bb:d3:e6:61:18:22:b8:01
 
	3b:58:d1:08:27:57:a2:1a:ff:01:53:e8:68:c6:df:bb
 
	59:7d:97:50:67:85:f6:90:5d:15:9b:68:5e:05:ac:88
 
	62:b8:f4:62:1e:e4:dd:e8:79:a3:68:15:d2:fe:8e:ec
 
	7b:fd:39:34:6a:0b:91:c3:d8:5d:f2:34:64:4e:34:df
 
	a8:8f:80:ea:9b:ff:fc:b4:39:46:1d:de:58:2f:00:99
 
	
 

	
 
exp2:
 
	43:20:d8:9a:3e:ca:4a:6c:28:ea:da:df:94:57:2d:ef
 
	1e:8a:a7:ee:24:d8:f5:2d:59:bf:18:d0:5e:c4:32:6e
 
	c5:a0:47:41:eb:95:6c:61:30:b8:3c:be:36:d6:5f:a0
 
	29:e6:cf:9a:5c:f1:f4:dc:d6:34:dd:5c:10:d5:c9:00
 
	f2:ad:bc:64:59:36:48:8d:e5:ed:dd:20:46:ba:63:11
 
	ff:48:85:d8:f9:4e:f9:9a:3b:08:51:58:ce:98:3c:96
 
	61:41:0c:1e:87:7f:46:97:ad:a7:05:ea:92:eb:7b:51
 
	b6:ba:b6:ba:14:66:d1:c4:f2:5f:1a:f7:a6:1d:78:bd
 
	
 

	
 

	
 
Public Key PIN:
 
	pin-sha256:OMrWS5FJrq5sJaVDE5uZXDmmld1GvcRBcDQ89/bO+LU=
 
Public Key ID:
 
	sha256:38cad64b9149aeae6c25a543139b995c39a695dd46bdc44170343cf7f6cef8b5
 
	sha1:57aaeae1bee72d5f465d2ecbdc810b3d675a49bd
 

	
 
-----BEGIN RSA PRIVATE KEY-----
 
MIIEogIBAAKCAQEAqjSvDM/rtlBQxJY49csCNDtwupirI+2/xR1N8akHstq9FUbf
 
Tqns3nbIqeRpgeTU/byNyLepI512a3a8yDlP4sU5AQeSkfGp89bL2KjGI8gKftnq
 
KUYgYfxJWfhYkQzg5jcXpdIy3wXB17Lo+iu6ZdrsLSwnl4UZYGOHnsWDeQ9Byd1F
 
3aLsWaGIqDXhruyUCrkCZ6uh/EyulkXAN3tr7a567M5+AvAnaVAIgJTJG/cdVWqd
 
KtHerwEtZmtsvBl/fwZYxPLRg6QaJsElkbxHMmzWImgGGyvRWgxjvlJhm0jtScXW
 
BSR4YtHexl2KhNm3oP2KkKFmNMkq5HfLTE7VXwIDAQABAoIBAAvPGfIWnvEIQ4JQ
 
NeV/z0hWc2zO2NjmTu7bKKRCqQEUwheu0iGAEqogra1z5ooXmVt9cIzjiT2qWCP+
 
mfx+VXeTXXAf2WB81uDPH1eJ5i1nXKsObXutnOOPgHtYirSNozD105MysUrd+GQB
 
yr5IuGcGuGot7RVLK8aPQUKXy5Zjhp1Whr93Xni1Jfo/Lz1rNQtVKDXruSEKptKf
 
AS2FewsTpS/8xs0wxBFdTRBTWMU8PsQzTfzShzkyB/wzF4fP/peAaj7uI/E7wb91
 
PfReZqBOu13hGQtGjNAsw69nSs0qr3XnWps8IC2xDFBvzd9jWJLh2VRxVkmy9hWL
 
IOqO8bECgYEAyODS9/lg3rw/DhO12JWCRbuMvU9ezvXNhmXGvFcYdClfJKxzqZGD
 
zK+1uxsJfyJIvQ3hVACeOBKlrxtdaEF/9CksCQ/HLdT7k703Oxcw8Z4siXcofDIl
 
piOKFMQgTM/BmObD9vS42Dr5NTTrzxYpqjsEKA8zUNEvKD7/D5HBFlkCgYEA2Okz
 
gvvXbECQ43JClXrKYqjnuJ6xqAZXFBMd6FDWsMvfK7VoBCG5wOdaxVaoVbWcz2Rq
 
JA4w8iAzHY4pOduFMmiLVeGgW7VubHIKbXTWfwhvnEzcn1cApXUjrLV0HFBCNpIH
 
apnPQT4g8806pwpnUFPD4xSQGrxRVpACToXOwncCgYA3l4irGbfGTICCy8+ijdXM
 
qJfNeF67lej4DciPLOdWlnB/PL6RqfS4u9PmYRgiuAE7WNEIJ1eiGv8BU+hoxt+7
 
WX2XUGeF9pBdFZtoXgWsiGK49GIe5N3oeaNoFdL+jux7/Tk0aguRw9hd8jRkTjTf
 
qI+A6pv//LQ5Rh3eWC8AmQKBgEMg2Jo+ykpsKOra35RXLe8eiqfuJNj1LVm/GNBe
 
xDJuxaBHQeuVbGEwuDy+NtZfoCnmz5pc8fTc1jTdXBDVyQDyrbxkWTZIjeXt3SBG
 
umMR/0iF2PlO+Zo7CFFYzpg8lmFBDB6Hf0aXracF6pLre1G2ura6FGbRxPJfGvem
 
HXi9AoGAOV7PH9hTP2e0Y7KfZduklFCoGVlkrYgXZRZvSaoa4OTqqn4Lb+pMajI9
 
Kol9fjMg0dOal966Mw6gP59D7gGe675nl4xOziFEwtuKPNcRJrPfusigpSCAEJFs
 
CIsNhSJF8UNaoU/Uev2I8pXjwGXSqCLeAT/PFHOaRzrK9dzRD+M=
 
-----END RSA PRIVATE KEY-----
roles/wsgi_website/tests/data/x509/parameters-paste-req_https.cert.pem
Show inline comments
 
new file 100644
 
-----BEGIN CERTIFICATE-----
 
MIIEWTCCAsGgAwIBAgIMWWfPBTPRlK/TUDm1MA0GCSqGSIb3DQEBCwUAMEgxIjAg
 
BgNVBAMTGUV4YW1wbGUgSW5jLiBUZXN0IFNpdGUgQ0ExFTATBgNVBAoTDEV4YW1w
 
bGUgSW5jLjELMAkGA1UEBhMCU0UwHhcNMTcwNzEzMTk1MDI5WhcNMjcwNzExMTk1
 
MDI5WjByMUwwSgYDVQQDE0NFeGFtcGUgSW5jLiBPcHRpb25hbCBQYXJhbWV0ZXJz
 
IChQYXN0ZSBhbmQgUElQIFJlcXVpcmVtZW50cykgU2VydmVyMRUwEwYDVQQKEwxF
 
eGFtcGxlIEluYy4xCzAJBgNVBAYTAlNFMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
 
MIIBCgKCAQEAw158YfpF/580X3srEhAwIbM7cdDeezZUv8CaYOBJ3ZEg12zvo0GZ
 
T3Ay24ssdbGuzN7pYPExcjJ9lJiAHKe/yWl2yzJjzIkUoJrG1Wa4TBj3D+ccwww2
 
GXX5ngJhL3un/9Mg7t9YppuY3GFywKXlBKSek8kI3GpIyKhQ7SOFaPi85tGMs2Oh
 
HL2LCnx3Qk68997s4xUETbDhFfdTZaXFt4gHeR1UEEiL8KdztRW25m9ywuxGDnlT
 
sQtolePn9rmUSeVnPW0U0X4Ln0t2/2RpJ83JadVjxvukPpwwKixBZ7gVdFS8IJAd
 
xtxrhXGQnCagnrN7saPinYNGyXd2Vi9bSQIDAQABo4GYMIGVMAwGA1UdEwEB/wQC
 
MAAwHwYDVR0RBBgwFoIUcGFyYW1ldGVycy1wYXN0ZS1yZXEwEwYDVR0lBAwwCgYI
 
KwYBBQUHAwEwDwYDVR0PAQH/BAUDAwegADAdBgNVHQ4EFgQUO/7I/tG7rs8k5i3t
 
Poi0p82GfOQwHwYDVR0jBBgwFoAUN2vbkxxpfpJMa99zhfiEllmBT2swDQYJKoZI
 
hvcNAQELBQADggGBAIb7Jk2B5rCd3Eb8FYGGW+PR2pJ0okT03lDQYpf3GXi2W4Nl
 
f0o8y6HUzSUYFQjpYyqyaHYuqfMuLdIuN+xHBO1xE5+1WLN8GVphmRQly/VHYNA+
 
tmE39Ha2gxWaGpfl1p00Otp7CEVt/Tfr7SYnrZlFg5k97PmWlOHqQgG/my8FDIzY
 
ssWqylOvK9INWzK9GVwRqKSHNVk6kDDCXWZBv1q4HCeUHCncJSGYIWldIllpTs1o
 
RDn08wLeXPCLwH8Ed/yP5g6qUTDKDLdktztYBDk2Ht3pu1xkwHVqRMnuW5CW0ao3
 
y7Nf5uPv+jamxKXNRFyWskcMG9X3aUElb++uMYTfYTOFrQodv+o474Z5OHUyFSAF
 
53vQTAGNljexqFOmnG60dLcudXmK6hOQEnt0SH/tcpcA+ceSVlmlH06vSx3EL3Nj
 
PlLR9lrOhXMYHBF+uxjnpWVyEbYxgHlS5WPlfDrf9Z4N10Ep3aP7ZOSKQ0+RdYBL
 
ygb+Kh9Z6MX13m2nTw==
 
-----END CERTIFICATE-----
roles/wsgi_website/tests/data/x509/parameters-paste-req_https.key.pem
Show inline comments
 
new file 100644
 
Public Key Info:
 
	Public Key Algorithm: RSA
 
	Key Security Level: Medium (2048 bits)
 

	
 
modulus:
 
	00:c3:5e:7c:61:fa:45:ff:9f:34:5f:7b:2b:12:10:30
 
	21:b3:3b:71:d0:de:7b:36:54:bf:c0:9a:60:e0:49:dd
 
	91:20:d7:6c:ef:a3:41:99:4f:70:32:db:8b:2c:75:b1
 
	ae:cc:de:e9:60:f1:31:72:32:7d:94:98:80:1c:a7:bf
 
	c9:69:76:cb:32:63:cc:89:14:a0:9a:c6:d5:66:b8:4c
 
	18:f7:0f:e7:1c:c3:0c:36:19:75:f9:9e:02:61:2f:7b
 
	a7:ff:d3:20:ee:df:58:a6:9b:98:dc:61:72:c0:a5:e5
 
	04:a4:9e:93:c9:08:dc:6a:48:c8:a8:50:ed:23:85:68
 
	f8:bc:e6:d1:8c:b3:63:a1:1c:bd:8b:0a:7c:77:42:4e
 
	bc:f7:de:ec:e3:15:04:4d:b0:e1:15:f7:53:65:a5:c5
 
	b7:88:07:79:1d:54:10:48:8b:f0:a7:73:b5:15:b6:e6
 
	6f:72:c2:ec:46:0e:79:53:b1:0b:68:95:e3:e7:f6:b9
 
	94:49:e5:67:3d:6d:14:d1:7e:0b:9f:4b:76:ff:64:69
 
	27:cd:c9:69:d5:63:c6:fb:a4:3e:9c:30:2a:2c:41:67
 
	b8:15:74:54:bc:20:90:1d:c6:dc:6b:85:71:90:9c:26
 
	a0:9e:b3:7b:b1:a3:e2:9d:83:46:c9:77:76:56:2f:5b
 
	49:
 

	
 
public exponent:
 
	01:00:01:
 

	
 
private exponent:
 
	66:8a:cb:42:29:b8:5f:c8:d2:16:63:71:61:d3:b9:4f
 
	96:e1:56:85:c8:a0:67:0d:e8:6f:51:18:13:e0:f1:38
 
	61:42:70:dc:fe:95:49:c0:96:25:3b:72:3a:ed:b3:4b
 
	0a:20:dd:e1:91:f6:df:f7:7c:4e:68:14:a5:f5:ae:06
 
	2b:22:bc:d8:3f:e5:74:f5:ac:ae:50:3a:65:e5:c9:9b
 
	38:e1:d1:ee:18:b9:ea:13:47:06:b3:56:90:67:f9:c1
 
	5d:d7:14:ec:0b:b2:5e:10:41:15:3a:d8:9e:20:f4:a9
 
	91:35:e2:5f:9c:15:04:7c:1b:45:ac:e4:2a:c6:b5:27
 
	1d:62:cd:08:cb:2e:81:25:21:6c:ac:c9:e0:1d:57:f2
 
	99:8a:45:66:59:1a:3a:2c:78:c5:cc:11:51:59:3d:14
 
	d0:fc:9b:c4:75:95:ca:f0:ec:2b:b2:9c:a7:ed:0f:c4
 
	35:51:9f:08:c3:fd:86:d5:b5:1c:6b:c7:f1:b4:72:de
 
	a9:70:d5:93:33:22:1b:d8:b2:25:7d:ad:40:d7:37:8a
 
	93:d6:a9:dd:7b:04:e2:9a:2f:4a:dd:6b:ce:77:cc:4c
 
	eb:e6:1e:da:8a:9c:aa:ed:d4:e3:fa:46:05:d9:06:85
 
	ef:79:e7:6c:1e:b5:4c:40:b4:b8:ff:2d:6e:0d:8f:f9
 
	
 

	
 
prime1:
 
	00:cc:ce:0f:e9:98:85:24:86:aa:63:bf:9f:17:5c:0d
 
	ac:66:0c:0d:53:10:58:60:1d:1c:39:bc:8c:08:d3:3a
 
	28:c7:98:b4:63:80:16:6b:81:fd:f8:3c:1d:86:3a:de
 
	90:17:c1:5d:cf:58:75:54:c1:fe:b3:5b:1b:19:eb:27
 
	46:ef:d3:a3:fc:e2:a9:18:3d:c4:7a:00:42:85:52:84
 
	b1:bc:3e:23:85:14:fd:c0:26:95:30:06:37:04:c2:60
 
	3a:d4:22:ce:e2:a2:72:5d:b6:b6:70:79:29:3f:cd:87
 
	77:b6:b4:fb:66:b8:12:7d:1a:53:5f:f2:d3:58:79:cd
 
	0b:
 

	
 
prime2:
 
	00:f4:34:9a:32:2c:8a:d5:36:36:be:75:6e:39:84:94
 
	bf:0c:f1:4a:57:09:4b:e2:18:93:bd:38:00:7e:75:1c
 
	84:a8:d0:ac:74:c0:e4:61:8d:0e:db:39:9d:1b:c2:49
 
	cd:3f:6d:1c:21:e0:49:20:eb:c6:82:e2:21:0b:65:83
 
	c8:0b:0d:05:97:ab:78:3f:c9:70:7e:61:1c:0c:20:fb
 
	88:a9:fb:94:c1:20:57:eb:39:a7:a8:87:ca:c9:c1:8a
 
	f1:d0:9a:c7:78:86:06:9b:ae:72:80:f4:b8:5d:ac:aa
 
	ce:a9:36:4f:c8:9b:09:e6:c3:0e:0a:fc:a2:0f:1d:e5
 
	7b:
 

	
 
coefficient:
 
	74:ff:bb:f3:1b:8e:01:2a:15:d8:fb:67:93:a1:ad:43
 
	e6:63:e5:ff:e3:f5:07:74:ef:75:1e:ec:51:46:39:34
 
	d2:89:f6:37:64:15:bd:98:17:b0:e0:a4:c3:c5:99:88
 
	48:af:29:5f:d4:cd:f7:5f:3e:ce:3e:d4:0e:09:0c:7f
 
	4a:98:f9:d2:ba:d1:80:2d:30:c9:4a:1d:c6:48:c1:34
 
	b9:10:69:19:ef:1d:d6:8b:80:77:42:07:63:ba:bd:ac
 
	29:55:81:c6:9e:82:6d:7d:91:e8:2f:5b:a7:55:18:e3
 
	14:f1:31:40:77:6f:bf:5e:7b:80:e1:c0:ea:f4:7b:2f
 
	
 

	
 
exp1:
 
	75:21:10:76:af:54:ce:1b:fa:4c:cb:e5:87:ad:8c:e0
 
	61:08:59:82:7c:e1:9e:2e:67:db:19:5b:19:1c:fc:b1
 
	1f:dd:d4:a4:e7:37:6b:4a:cf:dd:ed:3b:91:6e:0f:a5
 
	67:00:9e:cf:1b:af:16:c7:50:0c:71:79:61:6c:5c:6d
 
	34:71:dc:e2:9f:1a:c8:13:63:4f:c6:e0:44:71:7a:14
 
	50:2d:55:91:21:fd:31:ac:9f:3b:f5:01:f8:45:d6:55
 
	2e:c7:ad:7c:6e:1d:6c:3d:37:bf:c1:7b:76:d2:eb:bb
 
	ea:91:3d:0a:75:11:95:dc:bd:7c:2d:5a:f3:c9:cd:1b
 
	
 

	
 
exp2:
 
	59:92:29:b4:99:8d:da:a2:65:f5:f9:d0:92:1c:45:0a
 
	c6:4e:82:7b:e6:17:05:39:0a:87:6e:d1:0f:91:19:02
 
	b7:80:c2:a0:98:57:ac:48:36:d8:c6:0b:10:31:75:2c
 
	69:45:35:fa:5e:ef:b3:b9:87:38:5e:84:cc:4f:51:c4
 
	bf:f8:e8:c2:36:cc:86:68:f6:70:04:62:6b:38:75:ca
 
	2c:be:f0:52:dd:f0:21:81:26:33:b4:8a:f6:f1:9c:6b
 
	11:9e:93:e7:6b:11:65:6c:d8:e6:df:db:f7:cf:eb:5e
 
	9d:c6:24:01:6a:8c:79:2d:b6:2a:e5:7a:f3:9c:7d:9d
 
	
 

	
 

	
 
Public Key PIN:
 
	pin-sha256:2ZNqJjW6Yle6cG2AXUggL+2Bwuc3Wf2eGtEAconMql8=
 
Public Key ID:
 
	sha256:d9936a2635ba6257ba706d805d48202fed81c2e73759fd9e1ad1007289ccaa5f
 
	sha1:3bfec8fed1bbaecf24e62ded3e88b4a7cd867ce4
 

	
 
-----BEGIN RSA PRIVATE KEY-----
 
MIIEogIBAAKCAQEAw158YfpF/580X3srEhAwIbM7cdDeezZUv8CaYOBJ3ZEg12zv
 
o0GZT3Ay24ssdbGuzN7pYPExcjJ9lJiAHKe/yWl2yzJjzIkUoJrG1Wa4TBj3D+cc
 
www2GXX5ngJhL3un/9Mg7t9YppuY3GFywKXlBKSek8kI3GpIyKhQ7SOFaPi85tGM
 
s2OhHL2LCnx3Qk68997s4xUETbDhFfdTZaXFt4gHeR1UEEiL8KdztRW25m9ywuxG
 
DnlTsQtolePn9rmUSeVnPW0U0X4Ln0t2/2RpJ83JadVjxvukPpwwKixBZ7gVdFS8
 
IJAdxtxrhXGQnCagnrN7saPinYNGyXd2Vi9bSQIDAQABAoIBAGaKy0IpuF/I0hZj
 
cWHTuU+W4VaFyKBnDehvURgT4PE4YUJw3P6VScCWJTtyOu2zSwog3eGR9t/3fE5o
 
FKX1rgYrIrzYP+V09ayuUDpl5cmbOOHR7hi56hNHBrNWkGf5wV3XFOwLsl4QQRU6
 
2J4g9KmRNeJfnBUEfBtFrOQqxrUnHWLNCMsugSUhbKzJ4B1X8pmKRWZZGjoseMXM
 
EVFZPRTQ/JvEdZXK8Owrspyn7Q/ENVGfCMP9htW1HGvH8bRy3qlw1ZMzIhvYsiV9
 
rUDXN4qT1qndewTimi9K3WvOd8xM6+Ye2oqcqu3U4/pGBdkGhe9552wetUxAtLj/
 
LW4Nj/kCgYEAzM4P6ZiFJIaqY7+fF1wNrGYMDVMQWGAdHDm8jAjTOijHmLRjgBZr
 
gf34PB2GOt6QF8Fdz1h1VMH+s1sbGesnRu/To/ziqRg9xHoAQoVShLG8PiOFFP3A
 
JpUwBjcEwmA61CLO4qJyXba2cHkpP82Hd7a0+2a4En0aU1/y01h5zQsCgYEA9DSa
 
MiyK1TY2vnVuOYSUvwzxSlcJS+IYk704AH51HISo0Kx0wORhjQ7bOZ0bwknNP20c
 
IeBJIOvGguIhC2WDyAsNBZereD/JcH5hHAwg+4ip+5TBIFfrOaeoh8rJwYrx0JrH
 
eIYGm65ygPS4Xayqzqk2T8ibCebDDgr8og8d5XsCgYB1IRB2r1TOG/pMy+WHrYzg
 
YQhZgnzhni5n2xlbGRz8sR/d1KTnN2tKz93tO5FuD6VnAJ7PG68Wx1AMcXlhbFxt
 
NHHc4p8ayBNjT8bgRHF6FFAtVZEh/TGsnzv1AfhF1lUux618bh1sPTe/wXt20uu7
 
6pE9CnURldy9fC1a88nNGwKBgFmSKbSZjdqiZfX50JIcRQrGToJ75hcFOQqHbtEP
 
kRkCt4DCoJhXrEg22MYLEDF1LGlFNfpe77O5hzhehMxPUcS/+OjCNsyGaPZwBGJr
 
OHXKLL7wUt3wIYEmM7SK9vGcaxGek+drEWVs2Obf2/fP616dxiQBaox5LbYq5Xrz
 
nH2dAoGAdP+78xuOASoV2Ptnk6GtQ+Zj5f/j9Qd073Ue7FFGOTTSifY3ZBW9mBew
 
4KTDxZmISK8pX9TN918+zj7UDgkMf0qY+dK60YAtMMlKHcZIwTS5EGkZ7x3Wi4B3
 
Qgdjur2sKVWBxp6CbX2R6C9bp1UY4xTxMUB3b79ee4DhwOr0ey8=
 
-----END RSA PRIVATE KEY-----
roles/wsgi_website/tests/data/x509/wsgi-website_https.cert.pem
Show inline comments
 
new file 100644
 
-----BEGIN CERTIFICATE-----
 
MIIEKDCCApCgAwIBAgIMWWeLCyTDwYCN5pXpMA0GCSqGSIb3DQEBCwUAMEgxIjAg
 
BgNVBAMTGUV4YW1wbGUgSW5jLiBUZXN0IFNpdGUgQ0ExFTATBgNVBAoTDEV4YW1w
 
bGUgSW5jLjELMAkGA1UEBhMCU0UwHhcNMTcwNzEzMTUwMDI3WhcNMjcwNzExMTUw
 
MDI3WjBJMSMwIQYDVQQDExpFeGFtcGUgSW5jLiBEZWZhdWx0IFNlcnZlcjEVMBMG
 
A1UEChMMRXhhbXBsZSBJbmMuMQswCQYDVQQGEwJTRTCCASIwDQYJKoZIhvcNAQEB
 
BQADggEPADCCAQoCggEBAMtl1q6IHnSgF1VUHGlVJAf+v6dtgsy/Y2xmiu0eXZaI
 
NE9YNN5V5tvvUUQ0B/5p9rNm5faQDONFdaCImphuiM7m7yU1jB4+nl9tsEfxSgLl
 
AASs4dSWyQydB7Cb1Mj8km6xm65ANKUZZUSm7OY0rIw4+GfsmsGgq6WPdTPRvfvz
 
tUdGaT6NSi6CzVz4juEJGNsLtMkTg+q25/ZsFP6VMVlJ9utEN3417LZNnUKrjLJ/
 
on9l9TtgU//iTYtZ0tpKHHlRpsZgQeiBlwsDDFGXh+Mdo2tgYSueDRN4pkX1YMp1
 
txQFBHvhz0s+WJzqU3GHTqAmSDupMcpBOyt7ieyEYqECAwEAAaOBkDCBjTAMBgNV
 
HRMBAf8EAjAAMBcGA1UdEQQQMA6CDHdzZ2ktd2Vic2l0ZTATBgNVHSUEDDAKBggr
 
BgEFBQcDATAPBgNVHQ8BAf8EBQMDB6AAMB0GA1UdDgQWBBRckBF/4p4zXrdbxSnY
 
FFRg0dAfMzAfBgNVHSMEGDAWgBQ3a9uTHGl+kkxr33OF+ISWWYFPazANBgkqhkiG
 
9w0BAQsFAAOCAYEAnnS16qkHlx+wwFKga0nC9mII/Bz2o0MgG58rCrxV6WUY7tmU
 
Y4GQCTB8BwMFxrGBOEqHV+qvthTvVatlbl9WqN+TA5r34emES5a/szfRb2knoAQx
 
5tyZMEyfBgj6HJnd/OIO2Qh8ADgtGOO4a+b2Tx5s28Olun2tmg/y7QV1WX2hEs30
 
TYNJKVEPOjVEI3MgOJsESGMgqaeDq+O+ObOpjiFLSrDWLfqO2FM9ORegZqNnzEbO
 
p9PPJmroHVzWN9K0sPecxf1ufsClPJv4vyT6lRrd+4EAqvGxkIg5OfwDg0kUi8qp
 
lgkS8443FJSVWlHiHr94MqTcVoQLvI2irYyw7UQEBLghBgZHvrVMVy2bDHt5P0Nc
 
JJ/vp1Shy4YqIF+wy95BiHQpitm2iQbWt7ORX1JnZGtFHjHIsoIb1BtcVaL5seiX
 
Y7VPsYa4daamETqcAiuSmIAbKYCJA5JmYWt0Yw2aeJ2T4JCZNHtTtVYmyTYTcQtb
 
i77+5LEMXO6tYPi6
 
-----END CERTIFICATE-----
roles/wsgi_website/tests/data/x509/wsgi-website_https.key.pem
Show inline comments
 
new file 100644
 
Public Key Info:
 
	Public Key Algorithm: RSA
 
	Key Security Level: Medium (2048 bits)
 

	
 
modulus:
 
	00:cb:65:d6:ae:88:1e:74:a0:17:55:54:1c:69:55:24
 
	07:fe:bf:a7:6d:82:cc:bf:63:6c:66:8a:ed:1e:5d:96
 
	88:34:4f:58:34:de:55:e6:db:ef:51:44:34:07:fe:69
 
	f6:b3:66:e5:f6:90:0c:e3:45:75:a0:88:9a:98:6e:88
 
	ce:e6:ef:25:35:8c:1e:3e:9e:5f:6d:b0:47:f1:4a:02
 
	e5:00:04:ac:e1:d4:96:c9:0c:9d:07:b0:9b:d4:c8:fc
 
	92:6e:b1:9b:ae:40:34:a5:19:65:44:a6:ec:e6:34:ac
 
	8c:38:f8:67:ec:9a:c1:a0:ab:a5:8f:75:33:d1:bd:fb
 
	f3:b5:47:46:69:3e:8d:4a:2e:82:cd:5c:f8:8e:e1:09
 
	18:db:0b:b4:c9:13:83:ea:b6:e7:f6:6c:14:fe:95:31
 
	59:49:f6:eb:44:37:7e:35:ec:b6:4d:9d:42:ab:8c:b2
 
	7f:a2:7f:65:f5:3b:60:53:ff:e2:4d:8b:59:d2:da:4a
 
	1c:79:51:a6:c6:60:41:e8:81:97:0b:03:0c:51:97:87
 
	e3:1d:a3:6b:60:61:2b:9e:0d:13:78:a6:45:f5:60:ca
 
	75:b7:14:05:04:7b:e1:cf:4b:3e:58:9c:ea:53:71:87
 
	4e:a0:26:48:3b:a9:31:ca:41:3b:2b:7b:89:ec:84:62
 
	a1:
 

	
 
public exponent:
 
	01:00:01:
 

	
 
private exponent:
 
	0b:46:74:f5:2d:e4:8a:50:89:9a:98:54:0e:de:c2:65
 
	93:10:aa:c6:5e:56:dd:51:34:a4:26:95:68:76:85:ae
 
	bd:3f:9c:c3:29:84:17:8d:1f:a2:20:a6:c5:be:ab:bf
 
	1a:48:dc:fc:a3:15:a3:cf:a8:ea:a2:47:f7:a5:40:fe
 
	3f:3d:08:92:04:57:74:df:30:a9:12:f9:99:fd:a1:55
 
	72:7f:cf:d9:a1:00:4e:da:dd:25:9c:fb:b6:7b:01:cd
 
	58:47:8e:3a:c5:a2:65:78:97:ed:8b:57:5c:97:94:ed
 
	1d:07:60:33:74:8c:c1:4c:62:9c:26:42:1e:21:6b:03
 
	09:2b:43:29:f7:8a:6b:f3:4e:1b:83:d9:0e:7e:f4:37
 
	46:c6:01:75:bb:d0:59:e0:8c:2a:c7:1e:82:64:37:34
 
	35:ff:0d:35:6c:57:45:ed:60:9d:5f:94:98:1e:01:88
 
	28:66:d1:aa:5c:19:cc:ed:92:0d:d9:1e:de:38:96:d2
 
	9f:a6:4a:41:ad:52:d1:83:cc:dc:c9:c2:c6:ee:f3:df
 
	d7:8e:c7:38:2d:e2:fb:a2:36:f9:67:05:e9:93:ff:ab
 
	04:2f:3d:b9:8c:a0:05:cf:08:4e:28:1c:96:a5:c1:1e
 
	0a:9e:c7:2c:a5:b4:d5:23:d7:00:91:33:e2:64:c0:01
 
	
 

	
 
prime1:
 
	00:d2:ab:3b:43:f4:d5:9c:46:a7:12:77:86:6d:12:95
 
	98:8a:31:07:5f:62:20:41:1b:90:d0:cb:40:5f:96:0a
 
	23:f5:ff:2a:0d:09:1a:8b:e0:ed:75:7a:f8:d0:47:43
 
	37:79:12:70:e8:54:a4:42:8c:93:3b:22:39:5a:4a:f3
 
	90:e5:67:35:66:80:85:fa:f5:ce:cf:16:89:24:f4:2d
 
	28:9e:f4:d0:f3:28:fd:38:20:d7:e7:8d:d5:4c:b7:65
 
	74:d7:92:f3:d3:63:cd:1a:bb:fd:bd:64:96:20:9e:08
 
	84:4d:38:1b:75:d5:d4:10:78:7d:6a:5c:a2:2f:42:2c
 
	a1:
 

	
 
prime2:
 
	00:f7:2a:13:f0:09:7f:0f:a8:ff:d2:27:26:49:8c:4d
 
	ff:5d:84:9f:7a:a7:de:db:80:d7:a7:0d:77:b6:45:03
 
	3d:b3:01:bf:11:71:90:64:07:3c:90:cf:36:5b:e5:fa
 
	a6:84:f6:25:f0:cd:5b:1b:26:02:84:69:37:a1:41:ae
 
	ae:a2:dc:49:36:30:2b:a0:69:dc:a0:a5:29:6c:5b:90
 
	5d:f1:91:2a:1b:af:0b:69:26:76:ec:e9:6a:e8:a6:7c
 
	f5:e4:10:f6:a4:23:98:cc:05:46:04:d1:65:b0:dd:3c
 
	6d:2f:fe:0b:45:96:61:42:82:7a:38:55:57:ce:b0:76
 
	01:
 

	
 
coefficient:
 
	65:5a:80:e0:2d:68:e4:26:df:d0:95:dd:48:6b:35:5b
 
	38:e3:e5:f7:db:bc:b0:c8:f3:9c:fc:68:e1:50:36:b6
 
	87:bc:f7:fa:f4:fe:9c:c1:18:13:5c:ff:95:2e:37:48
 
	9e:df:47:87:96:db:dd:71:ee:53:e6:0e:0f:c4:9b:08
 
	dc:d7:31:67:36:6a:14:01:71:91:3f:71:90:ff:91:8e
 
	d3:37:9a:ac:36:54:39:f6:3c:19:2b:93:37:c3:ad:ab
 
	a2:64:89:38:71:be:05:de:33:f1:af:60:8c:93:6f:30
 
	22:17:b5:37:85:d8:42:89:59:13:10:3b:4b:c8:57:a9
 
	
 

	
 
exp1:
 
	27:e3:86:28:3a:de:8b:65:91:52:dc:d0:d6:2c:33:a9
 
	1b:59:67:34:f7:46:76:2d:7b:01:1d:cb:05:8e:4a:43
 
	3e:db:de:a1:73:3c:d4:89:75:4c:ce:48:f8:5e:d5:ea
 
	56:01:58:e1:94:cd:39:50:96:bc:16:a1:d7:67:e3:b0
 
	66:cf:60:fc:14:8f:c9:d1:eb:23:a8:f7:b4:c8:8b:18
 
	6a:e8:9d:fb:bc:a2:1d:93:92:6d:e4:9c:23:97:82:1d
 
	5a:88:17:a4:c9:fb:d6:f9:0b:75:65:eb:4b:27:c1:23
 
	13:df:f0:cb:21:fe:b2:53:ae:23:8a:80:a7:04:17:a1
 
	
 

	
 
exp2:
 
	00:c9:87:e0:bb:df:32:60:55:7f:4a:1e:ab:e4:5a:67
 
	9a:a9:e9:22:94:43:5e:be:81:fe:d4:f2:71:43:08:60
 
	8d:25:71:6e:16:ce:0f:5a:d0:5f:bc:ff:88:26:44:8e
 
	2c:ca:cb:5d:c2:4b:df:56:72:96:a8:da:96:06:81:64
 
	ea:76:56:c1:c7:52:5d:b0:2d:c1:3c:a7:8e:f0:10:74
 
	d5:74:cb:d5:96:bf:12:c1:c9:20:3d:2a:52:06:a3:01
 
	cf:09:08:1f:e3:54:37:19:5b:cf:6c:cc:44:6b:82:e8
 
	eb:6a:af:6d:07:6f:87:9c:50:81:51:7f:9c:da:26:1e
 
	01:
 

	
 

	
 
Public Key PIN:
 
	pin-sha256:hK0zRt7lGYLybXfwfftQF+FpoS9MdFSHemgnbC9x3QA=
 
Public Key ID:
 
	sha256:84ad3346dee51982f26d77f07dfb5017e169a12f4c7454877a68276c2f71dd00
 
	sha1:5c90117fe29e335eb75bc529d8145460d1d01f33
 

	
 
-----BEGIN RSA PRIVATE KEY-----
 
MIIEowIBAAKCAQEAy2XWrogedKAXVVQcaVUkB/6/p22CzL9jbGaK7R5dlog0T1g0
 
3lXm2+9RRDQH/mn2s2bl9pAM40V1oIiamG6IzubvJTWMHj6eX22wR/FKAuUABKzh
 
1JbJDJ0HsJvUyPySbrGbrkA0pRllRKbs5jSsjDj4Z+yawaCrpY91M9G9+/O1R0Zp
 
Po1KLoLNXPiO4QkY2wu0yROD6rbn9mwU/pUxWUn260Q3fjXstk2dQquMsn+if2X1
 
O2BT/+JNi1nS2koceVGmxmBB6IGXCwMMUZeH4x2ja2BhK54NE3imRfVgynW3FAUE
 
e+HPSz5YnOpTcYdOoCZIO6kxykE7K3uJ7IRioQIDAQABAoIBAAtGdPUt5IpQiZqY
 
VA7ewmWTEKrGXlbdUTSkJpVodoWuvT+cwymEF40foiCmxb6rvxpI3PyjFaPPqOqi
 
R/elQP4/PQiSBFd03zCpEvmZ/aFVcn/P2aEATtrdJZz7tnsBzVhHjjrFomV4l+2L
 
V1yXlO0dB2AzdIzBTGKcJkIeIWsDCStDKfeKa/NOG4PZDn70N0bGAXW70FngjCrH
 
HoJkNzQ1/w01bFdF7WCdX5SYHgGIKGbRqlwZzO2SDdke3jiW0p+mSkGtUtGDzNzJ
 
wsbu89/Xjsc4LeL7ojb5ZwXpk/+rBC89uYygBc8ITigclqXBHgqexyyltNUj1wCR
 
M+JkwAECgYEA0qs7Q/TVnEanEneGbRKVmIoxB19iIEEbkNDLQF+WCiP1/yoNCRqL
 
4O11evjQR0M3eRJw6FSkQoyTOyI5WkrzkOVnNWaAhfr1zs8WiST0LSie9NDzKP04
 
INfnjdVMt2V015Lz02PNGrv9vWSWIJ4IhE04G3XV1BB4fWpcoi9CLKECgYEA9yoT
 
8Al/D6j/0icmSYxN/12En3qn3tuA16cNd7ZFAz2zAb8RcZBkBzyQzzZb5fqmhPYl
 
8M1bGyYChGk3oUGurqLcSTYwK6Bp3KClKWxbkF3xkSobrwtpJnbs6Wropnz15BD2
 
pCOYzAVGBNFlsN08bS/+C0WWYUKCejhVV86wdgECgYAn44YoOt6LZZFS3NDWLDOp
 
G1lnNPdGdi17AR3LBY5KQz7b3qFzPNSJdUzOSPhe1epWAVjhlM05UJa8FqHXZ+Ow
 
Zs9g/BSPydHrI6j3tMiLGGronfu8oh2Tkm3knCOXgh1aiBekyfvW+Qt1ZetLJ8Ej
 
E9/wyyH+slOuI4qApwQXoQKBgQDJh+C73zJgVX9KHqvkWmeaqekilENevoH+1PJx
 
QwhgjSVxbhbOD1rQX7z/iCZEjizKy13CS99Wcpao2pYGgWTqdlbBx1JdsC3BPKeO
 
8BB01XTL1Za/EsHJID0qUgajAc8JCB/jVDcZW89szERrgujraq9tB2+HnFCBUX+c
 
2iYeAQKBgGVagOAtaOQm39CV3UhrNVs44+X327ywyPOc/GjhUDa2h7z3+vT+nMEY
 
E1z/lS43SJ7fR4eW291x7lPmDg/Emwjc1zFnNmoUAXGRP3GQ/5GO0zearDZUOfY8
 
GSuTN8Otq6JkiThxvgXeM/GvYIyTbzAiF7U3hdhCiVkTEDtLyFep
 
-----END RSA PRIVATE KEY-----
roles/wsgi_website/tests/test_default.py
Show inline comments
 
new file 100644
 
import testinfra.utils.ansible_runner
 

	
 
testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
 
    '.molecule/ansible_inventory').get_hosts('all')
 

	
 

	
 
def test_hosts_file(File):
 
    f = File('/etc/hosts')
 

	
 
    assert f.exists
 
    assert f.user == 'root'
 
    assert f.group == 'root'
0 comments (0 inline, 0 general)