Add role
This commit is contained in:
		
							parent
							
								
									b9cce1be67
								
							
						
					
					
						commit
						e48f14003f
					
				
					 12 changed files with 350 additions and 6 deletions
				
			
		
							
								
								
									
										50
									
								
								README.md
									
										
									
									
									
								
							
							
						
						
									
										50
									
								
								README.md
									
										
									
									
									
								
							| 
						 | 
					@ -1,9 +1,47 @@
 | 
				
			||||||
# CFSSL-SERVER
 | 
					ansible-role-cfssl
 | 
				
			||||||
 | 
					==================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Presentation
 | 
					Installes CFSSL (CloudFlare's PKI toolkit) binaries and generate certificate :
 | 
				
			||||||
 | 
					- Self Signed Root CA
 | 
				
			||||||
 | 
					- CA Signed Client Certificates
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## License
 | 
					 | 
				
			||||||
For open source projects, say how it is licensed.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Project status
 | 
					Role Variables
 | 
				
			||||||
If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers.
 | 
					--------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					#Specifies the version of CFSSL toolkit we want to download and use
 | 
				
			||||||
 | 
					cfssl_version: "1.6.3"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# The directory where CFSSL binaries will be installed
 | 
				
			||||||
 | 
					cfssl_bin_directory: /usr/bin
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# The CA directory where we will store CA, and Client certificates/keys.
 | 
				
			||||||
 | 
					pki_dir: /opt/cfssl
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# The Certificates Key Algos for both CA and Client certificates.
 | 
				
			||||||
 | 
					pki_key:
 | 
				
			||||||
 | 
					    algo: rsa
 | 
				
			||||||
 | 
					    size: 4096
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# The CA Certificate Object and the default Client Certificate Object.
 | 
				
			||||||
 | 
					pki_names:
 | 
				
			||||||
 | 
					  - C: FR
 | 
				
			||||||
 | 
					    L: 'Paris'
 | 
				
			||||||
 | 
					    O: 'Acme'
 | 
				
			||||||
 | 
					    OU: IT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pki_ca:
 | 
				
			||||||
 | 
					  cname: My Internal Certification Authority
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# The properties of the CA 
 | 
				
			||||||
 | 
					pki_ca:
 | 
				
			||||||
 | 
					  cname: My Internal Certification Authority
 | 
				
			||||||
 | 
					  expiry: 262800h (30 Years)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# The properties of the Intermediate CA  
 | 
				
			||||||
 | 
					pki_intermediate_ca:
 | 
				
			||||||
 | 
					  cname: My Intermediate Internal Certification Authority
 | 
				
			||||||
 | 
					  expiry: 262800h (30 Years)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
							
								
								
									
										24
									
								
								roles/cfssl-server/defaults/main.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								roles/cfssl-server/defaults/main.yml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,24 @@
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					cfssl_version: 1.6.3
 | 
				
			||||||
 | 
					cfssl_bin_directory: /usr/bin
 | 
				
			||||||
 | 
					cfssl_port: 8888
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pki_dir: /opt/cfssl
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pki_key:
 | 
				
			||||||
 | 
					    algo: rsa
 | 
				
			||||||
 | 
					    size: 4096
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pki_names:
 | 
				
			||||||
 | 
					  - C: FR
 | 
				
			||||||
 | 
					    L: 'Paris'
 | 
				
			||||||
 | 
					    O: 'Acme'
 | 
				
			||||||
 | 
					    OU: IT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pki_ca:
 | 
				
			||||||
 | 
					  cname: My Internal Certification Authority
 | 
				
			||||||
 | 
					  expiry: 262800h
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pki_intermediate_ca:
 | 
				
			||||||
 | 
					  cname: My Intermediate Internal Certification Authority
 | 
				
			||||||
 | 
					  expirity: 262800h
 | 
				
			||||||
							
								
								
									
										0
									
								
								roles/cfssl-server/handlers/main.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								roles/cfssl-server/handlers/main.yml
									
										
									
									
									
										Normal file
									
								
							
							
								
								
									
										143
									
								
								roles/cfssl-server/tasks/main.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										143
									
								
								roles/cfssl-server/tasks/main.yml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,143 @@
 | 
				
			||||||
 | 
					- name: include pre_requisite.yml
 | 
				
			||||||
 | 
					  import_tasks: pre_requisite.yml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Create cfssl user
 | 
				
			||||||
 | 
					  ansible.builtin.user:
 | 
				
			||||||
 | 
					    name: cfssl
 | 
				
			||||||
 | 
					    shell: /usr/sbin/nologin
 | 
				
			||||||
 | 
					    create_home: no
 | 
				
			||||||
 | 
					    home: '{{pki_dir}}'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: create pki dir
 | 
				
			||||||
 | 
					  file:
 | 
				
			||||||
 | 
					    path: '{{pki_dir}}'
 | 
				
			||||||
 | 
					    state: directory
 | 
				
			||||||
 | 
					    owner: cfssl
 | 
				
			||||||
 | 
					    group: cfssl
 | 
				
			||||||
 | 
					    mode: 0700
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: create pki csr dir
 | 
				
			||||||
 | 
					  file:
 | 
				
			||||||
 | 
					    path: '{{pki_dir}}/csr'
 | 
				
			||||||
 | 
					    state: directory
 | 
				
			||||||
 | 
					    owner: cfssl
 | 
				
			||||||
 | 
					    group: cfssl
 | 
				
			||||||
 | 
					    mode: 0700
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: create pki etc dir
 | 
				
			||||||
 | 
					  file:
 | 
				
			||||||
 | 
					    path: '{{pki_dir}}/etc'
 | 
				
			||||||
 | 
					    state: directory
 | 
				
			||||||
 | 
					    owner: cfssl
 | 
				
			||||||
 | 
					    group: cfssl
 | 
				
			||||||
 | 
					    mode: 0700
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: create pki data dir
 | 
				
			||||||
 | 
					  file:
 | 
				
			||||||
 | 
					    path: '{{pki_dir}}/data'
 | 
				
			||||||
 | 
					    state: directory
 | 
				
			||||||
 | 
					    owner: cfssl
 | 
				
			||||||
 | 
					    group: cfssl
 | 
				
			||||||
 | 
					    mode: 0700
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: create pki CA dir
 | 
				
			||||||
 | 
					  file:
 | 
				
			||||||
 | 
					    path: '{{pki_dir}}/CA'
 | 
				
			||||||
 | 
					    state: directory
 | 
				
			||||||
 | 
					    owner: cfssl
 | 
				
			||||||
 | 
					    group: cfssl
 | 
				
			||||||
 | 
					    mode: 0700
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: creating CA CSR json
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    src: csr_ROOT_CA.json.j2
 | 
				
			||||||
 | 
					    dest: '{{pki_dir}}/csr/csr_ROOT_CA.json'
 | 
				
			||||||
 | 
					    owner: cfssl
 | 
				
			||||||
 | 
					    group: cfssl
 | 
				
			||||||
 | 
					    mode: 0600
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: creating Intermediate CA CSR json
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    src: csr_intermediate_CA.json.j2
 | 
				
			||||||
 | 
					    dest: '{{pki_dir}}/csr/csr_intermediate_CA.json'
 | 
				
			||||||
 | 
					    owner: cfssl
 | 
				
			||||||
 | 
					    group: cfssl
 | 
				
			||||||
 | 
					    mode: 0600
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: creating config file
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    src: cfssl.json.j2
 | 
				
			||||||
 | 
					    dest: '{{pki_dir}}/etc/cfssl.json'
 | 
				
			||||||
 | 
					    owner: cfssl
 | 
				
			||||||
 | 
					    group: cfssl
 | 
				
			||||||
 | 
					    mode: 0600
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: creating db config file
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    src: db.json.j2
 | 
				
			||||||
 | 
					    dest: '{{pki_dir}}/etc/db.json'
 | 
				
			||||||
 | 
					    owner: cfssl
 | 
				
			||||||
 | 
					    group: cfssl
 | 
				
			||||||
 | 
					    mode: 0600
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: creating init sql file
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    src: init.sql.j2
 | 
				
			||||||
 | 
					    dest: '{{pki_dir}}/data/init.sql'
 | 
				
			||||||
 | 
					    owner: cfssl
 | 
				
			||||||
 | 
					    group: cfssl
 | 
				
			||||||
 | 
					    mode: 0600
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: create certificate authority key pair and CSR, autosign it
 | 
				
			||||||
 | 
					  shell: '{{cfssl_bin_directory}}/cfssl gencert -initca {{pki_dir}}/csr/csr_ROOT_CA.json | {{cfssl_bin_directory}}/cfssljson -bare ca'
 | 
				
			||||||
 | 
					  args:
 | 
				
			||||||
 | 
					    chdir: '{{pki_dir}}/CA/'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: create intermediate certificate authority key pair and CSR, autosign it
 | 
				
			||||||
 | 
					  shell: '{{cfssl_bin_directory}}/cfssl gencert -ca {{pki_dir}}/CA/ca.pem -ca-key {{pki_dir}}/CA/ca-key.pem -config={{pki_dir}}/etc/cfssl.json -profile="intermediate_ca" {{pki_dir}}/csr/csr_intermediate_CA.json | {{cfssl_bin_directory}}/cfssljson -bare ca-server'
 | 
				
			||||||
 | 
					  args:
 | 
				
			||||||
 | 
					    chdir: '{{pki_dir}}/CA/'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: create sqlite3 database
 | 
				
			||||||
 | 
					  shell: 'cat {{pki_dir}}/data/init.sql | sqlite3 {{pki_dir}}/data/certdb.db'
 | 
				
			||||||
 | 
					  args:
 | 
				
			||||||
 | 
					    chdir: '{{pki_dir}}/CA/'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Change owner of ca-server.pem by cfssl
 | 
				
			||||||
 | 
					  ansible.builtin.file:
 | 
				
			||||||
 | 
					    path: '{{pki_dir}}/CA/ca-server.pem'
 | 
				
			||||||
 | 
					    owner: cfssl
 | 
				
			||||||
 | 
					    group: cfssl
 | 
				
			||||||
 | 
					    mode: 0600
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Change owner of ca-server.pem by cfssl
 | 
				
			||||||
 | 
					  ansible.builtin.file:
 | 
				
			||||||
 | 
					    path: '{{pki_dir}}/CA/ca-server-key.pem'
 | 
				
			||||||
 | 
					    owner: cfssl
 | 
				
			||||||
 | 
					    group: cfssl
 | 
				
			||||||
 | 
					    mode: 0600
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Change owner of certdb.db by cfssl
 | 
				
			||||||
 | 
					  ansible.builtin.file:
 | 
				
			||||||
 | 
					    path: '{{pki_dir}}/data/certdb.db'
 | 
				
			||||||
 | 
					    owner: cfssl
 | 
				
			||||||
 | 
					    group: cfssl
 | 
				
			||||||
 | 
					    mode: 0600
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Création du fichier de service /lib/systemd/system/cfssl.service
 | 
				
			||||||
 | 
					  ansible.builtin.template:
 | 
				
			||||||
 | 
					    src: cfssl.service.j2
 | 
				
			||||||
 | 
					    dest: /lib/systemd/system/cfssl.service
 | 
				
			||||||
 | 
					    owner: root
 | 
				
			||||||
 | 
					    group: root
 | 
				
			||||||
 | 
					    mode: 0644
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name : Create firewall rules
 | 
				
			||||||
 | 
					  ansible.builtin.shell: 'firewall-cmd --zone=public --permanent --add-port=8888/tcp && firewall-cmd --reload'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Démarrage et activation du service cfssl
 | 
				
			||||||
 | 
					  ansible.builtin.service:
 | 
				
			||||||
 | 
					    name: cfssl
 | 
				
			||||||
 | 
					    state: started
 | 
				
			||||||
 | 
					    enabled: true
 | 
				
			||||||
							
								
								
									
										28
									
								
								roles/cfssl-server/tasks/pre_requisite.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								roles/cfssl-server/tasks/pre_requisite.yml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,28 @@
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					- name: Check if cfssl is already available
 | 
				
			||||||
 | 
					  stat:
 | 
				
			||||||
 | 
					    path: '{{cfssl_bin_directory}}/cfssl'
 | 
				
			||||||
 | 
					  register: cfssl_exist
 | 
				
			||||||
 | 
					- name: Download statically linked cfssl binary
 | 
				
			||||||
 | 
					  get_url:
 | 
				
			||||||
 | 
					    url: https://github.com/cloudflare/cfssl/releases/download/v{{cfssl_version}}/cfssl_{{cfssl_version}}_linux_amd64
 | 
				
			||||||
 | 
					    dest: '{{cfssl_bin_directory}}/cfssl'
 | 
				
			||||||
 | 
					    mode: 0755
 | 
				
			||||||
 | 
					  when: cfssl_exist.stat.exists == false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Check if cfssljson is already available
 | 
				
			||||||
 | 
					  stat:
 | 
				
			||||||
 | 
					    path: '{{cfssl_bin_directory}}/cfssljson'
 | 
				
			||||||
 | 
					  register: cfssljson_exist
 | 
				
			||||||
 | 
					- name: Download statically linked cfssljson binary
 | 
				
			||||||
 | 
					  get_url:
 | 
				
			||||||
 | 
					    url: https://github.com/cloudflare/cfssl/releases/download/v{{cfssl_version}}/cfssljson_{{cfssl_version}}_linux_amd64
 | 
				
			||||||
 | 
					    dest: '{{cfssl_bin_directory}}/cfssljson'
 | 
				
			||||||
 | 
					    mode: 0755
 | 
				
			||||||
 | 
					  when: cfssljson_exist.stat.exists == false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Install sqlite3
 | 
				
			||||||
 | 
					  ansible.builtin.package:
 | 
				
			||||||
 | 
					    name: sqlite3
 | 
				
			||||||
 | 
					    state: present
 | 
				
			||||||
 | 
					    update_cache : true
 | 
				
			||||||
							
								
								
									
										50
									
								
								roles/cfssl-server/templates/cfssl.json.j2
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								roles/cfssl-server/templates/cfssl.json.j2
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,50 @@
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    "signing": {
 | 
				
			||||||
 | 
					      "default": {
 | 
				
			||||||
 | 
					          "crl_url": "http://{{inventory_hostname_short}}.{{vm_domain_name}}:8888/crl",
 | 
				
			||||||
 | 
					          "expiry": "26280h",
 | 
				
			||||||
 | 
					          "usages": [
 | 
				
			||||||
 | 
					              "signing",
 | 
				
			||||||
 | 
					              "key encipherment",
 | 
				
			||||||
 | 
					              "client auth"
 | 
				
			||||||
 | 
					          ]
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					      "profiles": {
 | 
				
			||||||
 | 
					        "intermediate_ca": {
 | 
				
			||||||
 | 
					          "usages": [
 | 
				
			||||||
 | 
					              "signing",
 | 
				
			||||||
 | 
					              "digital signature",
 | 
				
			||||||
 | 
					              "key encipherment",
 | 
				
			||||||
 | 
					              "cert sign",
 | 
				
			||||||
 | 
					              "crl sign",
 | 
				
			||||||
 | 
					              "server auth",
 | 
				
			||||||
 | 
					              "client auth"
 | 
				
			||||||
 | 
					          ],
 | 
				
			||||||
 | 
					          "expiry": "87600h",
 | 
				
			||||||
 | 
					          "ca_constraint": {
 | 
				
			||||||
 | 
					              "is_ca": true,
 | 
				
			||||||
 | 
					              "max_path_len": 0, 
 | 
				
			||||||
 | 
					              "max_path_len_zero": true
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "server": {
 | 
				
			||||||
 | 
					          "usages": [
 | 
				
			||||||
 | 
					            "signing",
 | 
				
			||||||
 | 
					            "digital signing",
 | 
				
			||||||
 | 
					            "key encipherment",
 | 
				
			||||||
 | 
					            "server auth"
 | 
				
			||||||
 | 
					          ],
 | 
				
			||||||
 | 
					          "expiry": "8760h"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "client": {
 | 
				
			||||||
 | 
					          "usages": [
 | 
				
			||||||
 | 
					            "signing",
 | 
				
			||||||
 | 
					            "digital signature",
 | 
				
			||||||
 | 
					            "key encipherment", 
 | 
				
			||||||
 | 
					            "client auth"
 | 
				
			||||||
 | 
					          ],
 | 
				
			||||||
 | 
					          "expiry": "8760h"
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										16
									
								
								roles/cfssl-server/templates/cfssl.service.j2
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								roles/cfssl-server/templates/cfssl.service.j2
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,16 @@
 | 
				
			||||||
 | 
					[Unit]
 | 
				
			||||||
 | 
					Description=CFSSL PKI Server
 | 
				
			||||||
 | 
					After=syslog.target
 | 
				
			||||||
 | 
					After=network.target
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Service]
 | 
				
			||||||
 | 
					RestartSec=2s
 | 
				
			||||||
 | 
					Type=simple
 | 
				
			||||||
 | 
					User=cfssl
 | 
				
			||||||
 | 
					Group=cfssl
 | 
				
			||||||
 | 
					WorkingDirectory={{pki_dir}}
 | 
				
			||||||
 | 
					ExecStart={{cfssl_bin_directory}}/cfssl serve -address 0.0.0.0 -db-config {{pki_dir}}/etc/db.json -config {{pki_dir}}/etc/cfssl.json -ca {{pki_dir}}/CA/ca-server.pem -ca-key {{pki_dir}}/CA/ca-server-key.pem -port {{cfssl_port}}
 | 
				
			||||||
 | 
					Restart=always
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Install]
 | 
				
			||||||
 | 
					WantedBy=multi-user.target
 | 
				
			||||||
							
								
								
									
										6
									
								
								roles/cfssl-server/templates/csr.json.j2
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								roles/cfssl-server/templates/csr.json.j2
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,6 @@
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    "CN": {{item.cname | to_json}},
 | 
				
			||||||
 | 
					    "hosts": {{ (item.sans|default([]) + item.altips|default([]) + item.cname.split(',')) | to_json}},
 | 
				
			||||||
 | 
					    "key" : {{item.key | default(pki_key) | to_json}},
 | 
				
			||||||
 | 
					    "names" : {{item.names | default(pki_names) | to_json}}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										6
									
								
								roles/cfssl-server/templates/csr_ROOT_CA.json.j2
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								roles/cfssl-server/templates/csr_ROOT_CA.json.j2
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,6 @@
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    "CN": {{pki_ca.cname | to_json}},
 | 
				
			||||||
 | 
					    "key" : {{pki_key | to_json}},
 | 
				
			||||||
 | 
					    "names" : {{pki_names | to_json}},
 | 
				
			||||||
 | 
					    "ca": {"expiry": "{{pki_ca.expiry | to_json}}"}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										6
									
								
								roles/cfssl-server/templates/csr_intermediate_CA.json.j2
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								roles/cfssl-server/templates/csr_intermediate_CA.json.j2
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,6 @@
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    "CN": {{pki_intermediate_ca.cname | to_json}},
 | 
				
			||||||
 | 
					    "key" : {{pki_key | to_json}},
 | 
				
			||||||
 | 
					    "names" : {{pki_names | to_json}},
 | 
				
			||||||
 | 
					    "ca": {"expiry": "{{pki_intermediate_ca.expiry | to_json}}"}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										1
									
								
								roles/cfssl-server/templates/db.json.j2
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								roles/cfssl-server/templates/db.json.j2
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					{"driver":"sqlite3","data_source":"{{pki_dir}}/data/certdb.db"}
 | 
				
			||||||
							
								
								
									
										26
									
								
								roles/cfssl-server/templates/init.sql.j2
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								roles/cfssl-server/templates/init.sql.j2
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,26 @@
 | 
				
			||||||
 | 
					CREATE TABLE certificates (
 | 
				
			||||||
 | 
					  serial_number            blob NOT NULL,
 | 
				
			||||||
 | 
					  authority_key_identifier blob NOT NULL,
 | 
				
			||||||
 | 
					  ca_label                 blob,
 | 
				
			||||||
 | 
					  status                   blob NOT NULL,
 | 
				
			||||||
 | 
					  reason                   int,
 | 
				
			||||||
 | 
					  expiry                   timestamp,
 | 
				
			||||||
 | 
					  revoked_at               timestamp,
 | 
				
			||||||
 | 
					  pem                      blob NOT NULL,
 | 
				
			||||||
 | 
					  PRIMARY KEY(serial_number, authority_key_identifier)
 | 
				
			||||||
 | 
					);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CREATE TABLE ocsp_responses (
 | 
				
			||||||
 | 
					  serial_number            blob NOT NULL,
 | 
				
			||||||
 | 
					  authority_key_identifier blob NOT NULL,
 | 
				
			||||||
 | 
					  body                     blob NOT NULL,
 | 
				
			||||||
 | 
					  expiry                   timestamp,
 | 
				
			||||||
 | 
					  PRIMARY KEY(serial_number, authority_key_identifier),
 | 
				
			||||||
 | 
					  FOREIGN KEY(serial_number, authority_key_identifier) REFERENCES certificates(serial_number, authority_key_identifier)
 | 
				
			||||||
 | 
					);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ALTER TABLE certificates ADD COLUMN "issued_at" timestamp;
 | 
				
			||||||
 | 
					ALTER TABLE certificates ADD COLUMN "not_before" timestamp;
 | 
				
			||||||
 | 
					ALTER TABLE certificates ADD COLUMN "metadata" text;
 | 
				
			||||||
 | 
					ALTER TABLE certificates ADD COLUMN "sans" text;
 | 
				
			||||||
 | 
					ALTER TABLE certificates ADD COLUMN "common_name" text;
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue