aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2008-07-15 17:38:45 +0000
committerRob Austein <sra@hactrn.net>2008-07-15 17:38:45 +0000
commit8f8a7ea81035f9230c2b27588cb1548279d938b8 (patch)
treee1dc812ab16793b7f5f36c4b4fb5f18197625de2 /scripts
parent9d7bc8e2696d4616b5c73fe6f88d2e0c5dc9e545 (diff)
Rename a couple of scripts whose names confuse Doxygen. Clean some of
the old test code out of rpkid/ to make real code easier to find. svn path=/rpkid/Doxyfile; revision=1995
Diffstat (limited to 'scripts')
-rw-r--r--scripts/apnic-poke-1.sh112
-rw-r--r--scripts/apnic-poke-1.yaml28
-rw-r--r--scripts/apnic-poke-2.sh123
-rw-r--r--scripts/apnic-poke-2.yaml74
-rw-r--r--scripts/apnic-test-3.tgzbin0 -> 694571 bytes
-rw-r--r--scripts/biz-certs-setup.sh81
l---------scripts/biz-certs/08fd5b15.01
l---------scripts/biz-certs/0cb21e6a.01
l---------scripts/biz-certs/33b6d09e.01
l---------scripts/biz-certs/5210f268.01
l---------scripts/biz-certs/5ebf1062.01
l---------scripts/biz-certs/60ac264c.01
l---------scripts/biz-certs/623ab26c.01
l---------scripts/biz-certs/6878697a.01
l---------scripts/biz-certs/71288ec9.01
l---------scripts/biz-certs/7449ce31.01
l---------scripts/biz-certs/7562977b.01
l---------scripts/biz-certs/80e4ab61.01
l---------scripts/biz-certs/826d8d65.01
l---------scripts/biz-certs/9844d0ad.01
l---------scripts/biz-certs/9970e247.01
-rw-r--r--scripts/biz-certs/Alice-CA.cer19
-rw-r--r--scripts/biz-certs/Alice-CA.cnf15
-rw-r--r--scripts/biz-certs/Alice-CA.key27
-rw-r--r--scripts/biz-certs/Alice-CA.req15
-rw-r--r--scripts/biz-certs/Alice-CA.srl1
-rw-r--r--scripts/biz-certs/Alice-EE.cer19
-rw-r--r--scripts/biz-certs/Alice-EE.cnf15
-rw-r--r--scripts/biz-certs/Alice-EE.key27
-rw-r--r--scripts/biz-certs/Alice-EE.req15
-rw-r--r--scripts/biz-certs/Alice-Root.cer19
-rw-r--r--scripts/biz-certs/Alice-Root.cnf15
-rw-r--r--scripts/biz-certs/Alice-Root.key27
-rw-r--r--scripts/biz-certs/Alice-Root.req15
-rw-r--r--scripts/biz-certs/Alice-Root.srl1
-rw-r--r--scripts/biz-certs/Bob-CA.cer19
-rw-r--r--scripts/biz-certs/Bob-CA.cnf15
-rw-r--r--scripts/biz-certs/Bob-CA.key27
-rw-r--r--scripts/biz-certs/Bob-CA.req15
-rw-r--r--scripts/biz-certs/Bob-CA.srl1
-rw-r--r--scripts/biz-certs/Bob-EE.cer19
-rw-r--r--scripts/biz-certs/Bob-EE.cnf15
-rw-r--r--scripts/biz-certs/Bob-EE.key27
-rw-r--r--scripts/biz-certs/Bob-EE.req15
-rw-r--r--scripts/biz-certs/Bob-Root.cer19
-rw-r--r--scripts/biz-certs/Bob-Root.cnf15
-rw-r--r--scripts/biz-certs/Bob-Root.key27
-rw-r--r--scripts/biz-certs/Bob-Root.req15
-rw-r--r--scripts/biz-certs/Bob-Root.srl1
-rw-r--r--scripts/biz-certs/Carol-CA.cer19
-rw-r--r--scripts/biz-certs/Carol-CA.cnf15
-rw-r--r--scripts/biz-certs/Carol-CA.key27
-rw-r--r--scripts/biz-certs/Carol-CA.req15
-rw-r--r--scripts/biz-certs/Carol-CA.srl1
-rw-r--r--scripts/biz-certs/Carol-EE.cer19
-rw-r--r--scripts/biz-certs/Carol-EE.cnf15
-rw-r--r--scripts/biz-certs/Carol-EE.key27
-rw-r--r--scripts/biz-certs/Carol-EE.req15
-rw-r--r--scripts/biz-certs/Carol-Root.cer19
-rw-r--r--scripts/biz-certs/Carol-Root.cnf15
-rw-r--r--scripts/biz-certs/Carol-Root.key27
-rw-r--r--scripts/biz-certs/Carol-Root.req15
-rw-r--r--scripts/biz-certs/Carol-Root.srl1
-rw-r--r--scripts/biz-certs/Dave-CA.cer19
-rw-r--r--scripts/biz-certs/Dave-CA.cnf15
-rw-r--r--scripts/biz-certs/Dave-CA.key27
-rw-r--r--scripts/biz-certs/Dave-CA.req15
-rw-r--r--scripts/biz-certs/Dave-CA.srl1
-rw-r--r--scripts/biz-certs/Dave-EE.cer19
-rw-r--r--scripts/biz-certs/Dave-EE.cnf15
-rw-r--r--scripts/biz-certs/Dave-EE.key27
-rw-r--r--scripts/biz-certs/Dave-EE.req15
-rw-r--r--scripts/biz-certs/Dave-Root.cer19
-rw-r--r--scripts/biz-certs/Dave-Root.cnf15
-rw-r--r--scripts/biz-certs/Dave-Root.key27
-rw-r--r--scripts/biz-certs/Dave-Root.req15
-rw-r--r--scripts/biz-certs/Dave-Root.srl1
-rw-r--r--scripts/biz-certs/Elena-CA.cer19
-rw-r--r--scripts/biz-certs/Elena-CA.cnf15
-rw-r--r--scripts/biz-certs/Elena-CA.key27
-rw-r--r--scripts/biz-certs/Elena-CA.req15
-rw-r--r--scripts/biz-certs/Elena-CA.srl1
-rw-r--r--scripts/biz-certs/Elena-EE.cer19
-rw-r--r--scripts/biz-certs/Elena-EE.cnf15
-rw-r--r--scripts/biz-certs/Elena-EE.key27
-rw-r--r--scripts/biz-certs/Elena-EE.req15
-rw-r--r--scripts/biz-certs/Elena-Root.cer19
-rw-r--r--scripts/biz-certs/Elena-Root.cnf15
-rw-r--r--scripts/biz-certs/Elena-Root.key27
-rw-r--r--scripts/biz-certs/Elena-Root.req15
-rw-r--r--scripts/biz-certs/Elena-Root.srl1
-rw-r--r--scripts/biz-certs/Frank-CA.cer19
-rw-r--r--scripts/biz-certs/Frank-CA.cnf15
-rw-r--r--scripts/biz-certs/Frank-CA.key27
-rw-r--r--scripts/biz-certs/Frank-CA.req15
-rw-r--r--scripts/biz-certs/Frank-CA.srl1
-rw-r--r--scripts/biz-certs/Frank-EE.cer19
-rw-r--r--scripts/biz-certs/Frank-EE.cnf15
-rw-r--r--scripts/biz-certs/Frank-EE.key27
-rw-r--r--scripts/biz-certs/Frank-EE.req15
-rw-r--r--scripts/biz-certs/Frank-Root.cer19
-rw-r--r--scripts/biz-certs/Frank-Root.cnf15
-rw-r--r--scripts/biz-certs/Frank-Root.key27
-rw-r--r--scripts/biz-certs/Frank-Root.req15
-rw-r--r--scripts/biz-certs/Frank-Root.srl1
-rw-r--r--scripts/biz-certs/Ginny-CA.cer19
-rw-r--r--scripts/biz-certs/Ginny-CA.cnf15
-rw-r--r--scripts/biz-certs/Ginny-CA.key27
-rw-r--r--scripts/biz-certs/Ginny-CA.req15
-rw-r--r--scripts/biz-certs/Ginny-CA.srl1
-rw-r--r--scripts/biz-certs/Ginny-EE.cer19
-rw-r--r--scripts/biz-certs/Ginny-EE.cnf15
-rw-r--r--scripts/biz-certs/Ginny-EE.key27
-rw-r--r--scripts/biz-certs/Ginny-EE.req15
-rw-r--r--scripts/biz-certs/Ginny-Root.cer19
-rw-r--r--scripts/biz-certs/Ginny-Root.cnf15
-rw-r--r--scripts/biz-certs/Ginny-Root.key27
-rw-r--r--scripts/biz-certs/Ginny-Root.req15
-rw-r--r--scripts/biz-certs/Ginny-Root.srl1
-rw-r--r--scripts/biz-certs/Harry-CA.cer19
-rw-r--r--scripts/biz-certs/Harry-CA.cnf15
-rw-r--r--scripts/biz-certs/Harry-CA.key27
-rw-r--r--scripts/biz-certs/Harry-CA.req15
-rw-r--r--scripts/biz-certs/Harry-CA.srl1
-rw-r--r--scripts/biz-certs/Harry-EE.cer19
-rw-r--r--scripts/biz-certs/Harry-EE.cnf15
-rw-r--r--scripts/biz-certs/Harry-EE.key27
-rw-r--r--scripts/biz-certs/Harry-EE.req15
-rw-r--r--scripts/biz-certs/Harry-Root.cer19
-rw-r--r--scripts/biz-certs/Harry-Root.cnf15
-rw-r--r--scripts/biz-certs/Harry-Root.key27
-rw-r--r--scripts/biz-certs/Harry-Root.req15
-rw-r--r--scripts/biz-certs/Harry-Root.srl1
l---------scripts/biz-certs/a17ff8dd.01
l---------scripts/biz-certs/b523b0af.01
l---------scripts/biz-certs/c027faa7.01
l---------scripts/biz-certs/cf3dacf7.01
l---------scripts/biz-certs/d9bfc7a9.01
l---------scripts/biz-certs/dfc82c8e.01
l---------scripts/biz-certs/f97c9834.01
l---------scripts/biz-certs/ff615a1f.01
l---------scripts/biz-certs/ff8832dd.01
-rw-r--r--scripts/rootd.cer93
-rw-r--r--scripts/rootd.cnf30
-rw-r--r--scripts/rootd.key27
-rw-r--r--scripts/rootd.sh143
-rw-r--r--scripts/test-pow-cms.py68
-rw-r--r--scripts/test-pow-tls.py61
-rw-r--r--scripts/testpoke.sh8
149 files changed, 2712 insertions, 0 deletions
diff --git a/scripts/apnic-poke-1.sh b/scripts/apnic-poke-1.sh
new file mode 100644
index 00000000..bca4a8f6
--- /dev/null
+++ b/scripts/apnic-poke-1.sh
@@ -0,0 +1,112 @@
+#!/bin/sh -
+# $Id$
+
+# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN")
+#
+# Permission to use, copy, modify, and distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+# Script to let APNIC test against my server.
+#
+# This blows away rpkid's database and rebuilds it with what we need
+# for this test, and knows far too much about the id numbers that
+# rpkid and mysql will assign. In the long run we must do better than
+# this, but gotta start somewhere.
+
+openssl=../openssl/openssl/apps/openssl
+
+# Halt on first error and show what's happening
+
+set -ex
+
+# Generate new key and cert for rootd.py if needed
+
+if test ! -r rootd.cer -o ! -r rootd.key
+then
+ $openssl req -new -newkey rsa:2048 -nodes -keyout rootd.key -out rootd.req -config rootd.cnf
+
+ $openssl x509 -req -in rootd.req -out rootd.cer -extfile rootd.cnf -extensions req_x509_ext \
+ -signkey rootd.key -text -sha256
+
+ rm -f rootd.req
+fi
+
+# Blow away old rpkid database (!) so we can start clean
+
+mysql -u rpki -p`awk '$1 == "sql-password" {print $3}' rpkid.conf` rpki <rpki-db-schema.sql
+
+# Clear out any old publication results
+
+rm -rf publication/*
+
+# Start rpkid so we can configure it, make sure we shut it down on exit
+# If we're running under screen, just run it in a different screen instead.
+
+if test -n "$STY"
+then
+ screen python rpkid.py
+else
+ python rpkid.py >>rpkid.log 2>&1 & rpkid=$!
+ trap "kill $rpkid" 0 1 2 3 13 15
+fi
+
+# Create a self instance
+
+python irbe_cli.py self --action create --crl_interval 84600
+
+# Create a business signing context, issue the necessary business cert, and set up the cert chain
+
+python irbe_cli.py --pem_out bsc.req bsc --action create --self_id 1 \
+ --generate_keypair --signing_cert biz-certs/Bob-CA.cer
+
+$openssl x509 -req -in bsc.req -out bsc.cer -CA biz-certs/Bob-CA.cer \
+ -CAkey biz-certs/Bob-CA.key -CAserial biz-certs/Bob-CA.srl
+
+python irbe_cli.py bsc --action set --self_id 1 --bsc_id 1 --signing_cert bsc.cer
+
+rm -f bsc.req bsc.cer
+
+# Create a repository context
+
+python irbe_cli.py repository --self_id 1 --action create --bsc_id 1
+
+# Create a parent context pointing at rootd.py
+
+python irbe_cli.py parent --self_id 1 --action create --bsc_id 1 --repository_id 1 \
+ --peer_contact_uri https://localhost:44333/ \
+ --cms_ta biz-certs/Elena-Root.cer \
+ --https_ta biz-certs/Elena-Root.cer \
+ --sia_base rsync://wombat.invalid/
+
+# Create a child context
+
+python irbe_cli.py child --self_id 1 --action create --bsc_id 1 --cms_ta biz-certs/Frank-Root.cer
+
+# Run the other daemons, arrange for everything to go away on shutdown,
+# run initial cron job to set things up, then wait
+
+if test -n "$STY"
+then
+ screen python rootd.py
+ screen python irdbd.py
+else
+ python rootd.py >>rootd.log 2>&1 & rootd=$!
+ python irdbd.py >>irdbd.log 2>&1 & irdbd=$!
+ trap "kill $rpkid $irdbd $rootd" 0 1 2 3 13 15
+fi
+
+python cronjob.py
+
+if test -z "$STY"
+then
+ tail +0f rpkid.log
+fi
diff --git a/scripts/apnic-poke-1.yaml b/scripts/apnic-poke-1.yaml
new file mode 100644
index 00000000..24b80561
--- /dev/null
+++ b/scripts/apnic-poke-1.yaml
@@ -0,0 +1,28 @@
+---
+# $Id$
+
+version: 1
+posturl: https://adrilankha.hactrn.net:4433/up-down/1
+recipient-id: wombat
+sender-id: "1"
+
+cms-cert-file: biz-certs/Frank-EE.cer
+cms-key-file: biz-certs/Frank-EE.key
+cms-ca-cert-file: biz-certs/Bob-Root.cer
+cms-cert-chain-file: [ biz-certs/Frank-CA.cer ]
+
+ssl-cert-file: biz-certs/Frank-EE.cer
+ssl-key-file: biz-certs/Frank-EE.key
+ssl-ca-cert-file: biz-certs/Bob-Root.cer
+
+requests:
+ list:
+ type: list
+ issue:
+ type: issue
+ class: 1
+ sia: [ "rsync://bandicoot.invalid/some/where/" ]
+ revoke:
+ type: revoke
+ class: 1
+ ski: "CB5K6APY-4KcGAW9jaK_cVPXKX0"
diff --git a/scripts/apnic-poke-2.sh b/scripts/apnic-poke-2.sh
new file mode 100644
index 00000000..87018111
--- /dev/null
+++ b/scripts/apnic-poke-2.sh
@@ -0,0 +1,123 @@
+#!/bin/sh -
+# $Id$
+
+# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN")
+#
+# Permission to use, copy, modify, and distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+openssl=../openssl/openssl/apps/openssl
+
+# Halt on first error and show what's happening
+
+set -ex
+
+# Blow away old rpkid database (!) so we can start clean
+
+mysql -u rpki -p`awk '$1 == "sql-password" {print $3}' rpkid.conf` rpki <rpki-db-schema.sql
+
+# Clear out any old publication results
+
+rm -rf publication/*
+
+# Start rpkid so we can configure it, make sure we shut it down on exit
+# If we're running under screen, just run it in a different screen instead.
+
+if test -n "$STY"
+then
+ screen python rpkid.py
+else
+ python rpkid.py >>rpkid.log 2>&1 & rpkid=$!
+ trap "kill $rpkid" 0 1 2 3 13 15
+fi
+
+# Create a self instance
+
+python irbe_cli.py self --action create --crl_interval 84600
+
+# Create a business signing context, issue the necessary business cert, and set up the cert chain
+
+python irbe_cli.py --pem_out bsc.req bsc --action create --self_id 1 \
+ --generate_keypair --signing_cert biz-certs/Bob-CA.cer
+$openssl x509 -req -in bsc.req -out bsc.cer \
+ -CA biz-certs/Bob-CA.cer -CAkey biz-certs/Bob-CA.key -CAserial biz-certs/Bob-CA.srl
+python irbe_cli.py bsc --action set --self_id 1 --bsc_id 1 --signing_cert bsc.cer
+rm -f bsc.req bsc.cer
+
+# List what's in the BSC, for today's debugging fun
+
+#python irbe_cli.py bsc --action list --self_id 1
+
+# Create a repository context
+
+python irbe_cli.py repository --self_id 1 --action create --bsc_id 1
+
+# Create a parent context pointing at APNIC -- this is where we plug in the values from their YAML
+
+cat >apnic.pem <<-'EOF'
+ -----BEGIN CERTIFICATE-----
+ MIIEFjCCAv6gAwIBAgIBADANBgkqhkiG9w0BAQsFADBJMUcwRQYDVQQDEz5Eb2N1
+ bWVudGF0aW9uIFByZWZpeGVzIENNUyBQYXJlbnQgVEEgc2lnbmVyIC0gTm90IGZv
+ ciByZWFsIHVzZTAeFw0wNzEyMDEwNjMyNDdaFw0xNzExMjgwNjMyNDdaMEkxRzBF
+ BgNVBAMTPkRvY3VtZW50YXRpb24gUHJlZml4ZXMgQ01TIFBhcmVudCBUQSBzaWdu
+ ZXIgLSBOb3QgZm9yIHJlYWwgdXNlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
+ CgKCAQEAtsRcgBpO7cTN+QGPnBaPtmfdsUZbctrfSBycS3QhwAItzZryqIHN9stP
+ A+0WEOC4+cfaY9xETqGwbq725p8FRwxUx9NBQS7jrL1ToNCJ+2qSH5ThK2hOQiCT
+ 3fv2FNJ/7gFFqofWt3mLyNEmnis95pRwzTtqH6ZaAaZk+AzwL77ww8AlwL/qfLtD
+ mjrsUfoELfkbS4ywFK0orjVKeGvzG8Dx7WiGvwmdhNNJ8/IAZmJC0NI8r9VIfcw3
+ 2B7bnDGkKH3E0NNRIajPmLbaNfT0Dxw+BjIC3Ty48o3ghSScqviyThNFyj8cr9SB
+ Ww8ReAU6v9q4XWRnlZt8Lc9WIsF/MwIDAQABo4IBBzCCAQMwDAYDVR0TBAUwAwEB
+ /zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFPzZTgRZylsJph8KV9AU3klSgl8r
+ MHEGA1UdIwRqMGiAFPzZTgRZylsJph8KV9AU3klSgl8roU2kSzBJMUcwRQYDVQQD
+ Ez5Eb2N1bWVudGF0aW9uIFByZWZpeGVzIENNUyBQYXJlbnQgVEEgc2lnbmVyIC0g
+ Tm90IGZvciByZWFsIHVzZYIBADBRBgNVHR8ESjBIMEagRKBChkBodHRwOi8vbWly
+ aW4uYXBuaWMubmV0L2RvY3VtZW50YXRpb24tcHJlZml4ZXMvY21zL3BhcmVudC9j
+ bXMuY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQCNz/BUN5bsAyMPi0X7oKZV/cAwmr2S
+ gQgIxaUHnQ6EJp4b2CUmlpPQ9pT/m+gPbajaRgUZmANfMF0uAFZpCP3hTRAc6NMH
+ 3Pwjzw1ICGSRRJASSizYN4hSxGpWW1hgghGTB3w5CjCm2VlwrQKJjb7/9H/gb4hi
+ RRZpaudithCEDlgkFhgU4uttSDLH2Rv14GtfmtyqDpmCE33STA7K+e9rdxaCqHC8
+ u33zqm4oQxOX7wuJ/JxeJxExtZ0amu8yTZ+tDtQ4Iiu1VPl67o0mjYrBKRV4z2fC
+ wa/PKqombrC/qs+2+t/66mB9xaK1YpKnW2FL6Rjs+rZUJJQ16JhJkF7T
+ -----END CERTIFICATE-----
+EOF
+
+python irbe_cli.py parent --self_id 1 --action create --bsc_id 1 --repository_id 1 \
+ --peer_contact_uri https://mirin.apnic.net/cgi-bin/up-down-parent.cgi \
+ --cms_ta apnic.pem \
+ --https_ta apnic.pem \
+ --sia_base rsync://wombat.invalid/ \
+ --recipient_name PARENT \
+ --sender_name CHILD
+
+rm -f apnic.pem
+
+# Create a child context
+
+python irbe_cli.py child --self_id 1 --action create --bsc_id 1 --cms_ta biz-certs/Frank-Root.cer
+
+# Run the other daemons, arrange for everything to go away on shutdown,
+# run initial cron job to set things up, then wait
+
+if test -n "$STY"
+then
+ screen python irdbd.py
+else
+ python irdbd.py >>irdbd.log 2>&1 & irdbd=$!
+ trap "kill $rpkid $irdbd" 0 1 2 3 13 15
+fi
+
+python cronjob.py
+
+if test -z "$STY"
+then
+ tail +0f rpkid.log
+fi
diff --git a/scripts/apnic-poke-2.yaml b/scripts/apnic-poke-2.yaml
new file mode 100644
index 00000000..6ba93729
--- /dev/null
+++ b/scripts/apnic-poke-2.yaml
@@ -0,0 +1,74 @@
+---
+# $Id$
+#
+# This sender config file was created by the make_cfg tool
+# Account: TELSTRA-AU
+
+version: 1
+recipient-id: PARENT
+sender-id: CHILD
+
+cms-cert-file: biz-certs/Bob-EE.cer
+cms-key-file: biz-certs/Bob-EE.key
+cms-cert-chain-file: [ biz-certs/Bob-CA.cer ]
+
+cms-ca-cert: |
+ -----BEGIN CERTIFICATE-----
+ MIIEFjCCAv6gAwIBAgIBADANBgkqhkiG9w0BAQsFADBJMUcwRQYDVQQDEz5Eb2N1
+ bWVudGF0aW9uIFByZWZpeGVzIENNUyBQYXJlbnQgVEEgc2lnbmVyIC0gTm90IGZv
+ ciByZWFsIHVzZTAeFw0wNzEyMDEwNjMyNDdaFw0xNzExMjgwNjMyNDdaMEkxRzBF
+ BgNVBAMTPkRvY3VtZW50YXRpb24gUHJlZml4ZXMgQ01TIFBhcmVudCBUQSBzaWdu
+ ZXIgLSBOb3QgZm9yIHJlYWwgdXNlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
+ CgKCAQEAtsRcgBpO7cTN+QGPnBaPtmfdsUZbctrfSBycS3QhwAItzZryqIHN9stP
+ A+0WEOC4+cfaY9xETqGwbq725p8FRwxUx9NBQS7jrL1ToNCJ+2qSH5ThK2hOQiCT
+ 3fv2FNJ/7gFFqofWt3mLyNEmnis95pRwzTtqH6ZaAaZk+AzwL77ww8AlwL/qfLtD
+ mjrsUfoELfkbS4ywFK0orjVKeGvzG8Dx7WiGvwmdhNNJ8/IAZmJC0NI8r9VIfcw3
+ 2B7bnDGkKH3E0NNRIajPmLbaNfT0Dxw+BjIC3Ty48o3ghSScqviyThNFyj8cr9SB
+ Ww8ReAU6v9q4XWRnlZt8Lc9WIsF/MwIDAQABo4IBBzCCAQMwDAYDVR0TBAUwAwEB
+ /zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFPzZTgRZylsJph8KV9AU3klSgl8r
+ MHEGA1UdIwRqMGiAFPzZTgRZylsJph8KV9AU3klSgl8roU2kSzBJMUcwRQYDVQQD
+ Ez5Eb2N1bWVudGF0aW9uIFByZWZpeGVzIENNUyBQYXJlbnQgVEEgc2lnbmVyIC0g
+ Tm90IGZvciByZWFsIHVzZYIBADBRBgNVHR8ESjBIMEagRKBChkBodHRwOi8vbWly
+ aW4uYXBuaWMubmV0L2RvY3VtZW50YXRpb24tcHJlZml4ZXMvY21zL3BhcmVudC9j
+ bXMuY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQCNz/BUN5bsAyMPi0X7oKZV/cAwmr2S
+ gQgIxaUHnQ6EJp4b2CUmlpPQ9pT/m+gPbajaRgUZmANfMF0uAFZpCP3hTRAc6NMH
+ 3Pwjzw1ICGSRRJASSizYN4hSxGpWW1hgghGTB3w5CjCm2VlwrQKJjb7/9H/gb4hi
+ RRZpaudithCEDlgkFhgU4uttSDLH2Rv14GtfmtyqDpmCE33STA7K+e9rdxaCqHC8
+ u33zqm4oQxOX7wuJ/JxeJxExtZ0amu8yTZ+tDtQ4Iiu1VPl67o0mjYrBKRV4z2fC
+ wa/PKqombrC/qs+2+t/66mB9xaK1YpKnW2FL6Rjs+rZUJJQ16JhJkF7T
+ -----END CERTIFICATE-----
+
+ssl-cert-file: biz-certs/Bob-EE.cer
+ssl-key-file: biz-certs/Bob-EE.key
+
+ssl-ca-cert: |
+ -----BEGIN CERTIFICATE-----
+ MIIEFjCCAv6gAwIBAgIBADANBgkqhkiG9w0BAQsFADBJMUcwRQYDVQQDEz5Eb2N1
+ bWVudGF0aW9uIFByZWZpeGVzIENNUyBQYXJlbnQgVEEgc2lnbmVyIC0gTm90IGZv
+ ciByZWFsIHVzZTAeFw0wNzEyMDEwNjMyNDdaFw0xNzExMjgwNjMyNDdaMEkxRzBF
+ BgNVBAMTPkRvY3VtZW50YXRpb24gUHJlZml4ZXMgQ01TIFBhcmVudCBUQSBzaWdu
+ ZXIgLSBOb3QgZm9yIHJlYWwgdXNlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
+ CgKCAQEAtsRcgBpO7cTN+QGPnBaPtmfdsUZbctrfSBycS3QhwAItzZryqIHN9stP
+ A+0WEOC4+cfaY9xETqGwbq725p8FRwxUx9NBQS7jrL1ToNCJ+2qSH5ThK2hOQiCT
+ 3fv2FNJ/7gFFqofWt3mLyNEmnis95pRwzTtqH6ZaAaZk+AzwL77ww8AlwL/qfLtD
+ mjrsUfoELfkbS4ywFK0orjVKeGvzG8Dx7WiGvwmdhNNJ8/IAZmJC0NI8r9VIfcw3
+ 2B7bnDGkKH3E0NNRIajPmLbaNfT0Dxw+BjIC3Ty48o3ghSScqviyThNFyj8cr9SB
+ Ww8ReAU6v9q4XWRnlZt8Lc9WIsF/MwIDAQABo4IBBzCCAQMwDAYDVR0TBAUwAwEB
+ /zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFPzZTgRZylsJph8KV9AU3klSgl8r
+ MHEGA1UdIwRqMGiAFPzZTgRZylsJph8KV9AU3klSgl8roU2kSzBJMUcwRQYDVQQD
+ Ez5Eb2N1bWVudGF0aW9uIFByZWZpeGVzIENNUyBQYXJlbnQgVEEgc2lnbmVyIC0g
+ Tm90IGZvciByZWFsIHVzZYIBADBRBgNVHR8ESjBIMEagRKBChkBodHRwOi8vbWly
+ aW4uYXBuaWMubmV0L2RvY3VtZW50YXRpb24tcHJlZml4ZXMvY21zL3BhcmVudC9j
+ bXMuY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQCNz/BUN5bsAyMPi0X7oKZV/cAwmr2S
+ gQgIxaUHnQ6EJp4b2CUmlpPQ9pT/m+gPbajaRgUZmANfMF0uAFZpCP3hTRAc6NMH
+ 3Pwjzw1ICGSRRJASSizYN4hSxGpWW1hgghGTB3w5CjCm2VlwrQKJjb7/9H/gb4hi
+ RRZpaudithCEDlgkFhgU4uttSDLH2Rv14GtfmtyqDpmCE33STA7K+e9rdxaCqHC8
+ u33zqm4oQxOX7wuJ/JxeJxExtZ0amu8yTZ+tDtQ4Iiu1VPl67o0mjYrBKRV4z2fC
+ wa/PKqombrC/qs+2+t/66mB9xaK1YpKnW2FL6Rjs+rZUJJQ16JhJkF7T
+ -----END CERTIFICATE-----
+
+posturl: https://mirin.apnic.net/cgi-bin/up-down-parent.cgi
+
+requests:
+ list:
+ type: list
diff --git a/scripts/apnic-test-3.tgz b/scripts/apnic-test-3.tgz
new file mode 100644
index 00000000..2d50fe3f
--- /dev/null
+++ b/scripts/apnic-test-3.tgz
Binary files differ
diff --git a/scripts/biz-certs-setup.sh b/scripts/biz-certs-setup.sh
new file mode 100644
index 00000000..64ebd7d8
--- /dev/null
+++ b/scripts/biz-certs-setup.sh
@@ -0,0 +1,81 @@
+#!/bin/sh -
+# $Id$
+
+# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN")
+#
+# Permission to use, copy, modify, and distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+# Quick hack to generate a set of business keys and certs for use with
+# early prototype code. Not for production use.
+#
+# All we're trying to do here is generate a three-level-deep set of
+# certs for each of several independent entities. Could easily be
+# deeper in practice but this should be enough for simple tests: a
+# self-signed root cert to use as a trust anchor, a working CA, and an
+# EE cert used for CMS or TLS.
+#
+# Among other things missing here, we're not doing any restrictions
+# beyond basicConstraints and we're not doing CRLs.
+#
+# One can extract the public key from a .key file by doing:
+#
+# $ openssl rsa -in foo.key -pubout
+#
+# I ended up needing this to build simulated packets for the
+# left-right protocol.
+
+for i in Alice Bob Carol Dave Elena Frank Ginny Harry
+do
+ for j in Root CA EE
+ do
+
+ case $j in
+ EE) ca=false;;
+ *) ca=true;;
+ esac
+
+ test -r $i-$j.cnf || cat >$i-$j.cnf <<-EOF
+
+ [ req ]
+ distinguished_name = req_dn
+ x509_extensions = req_x509_ext
+ prompt = no
+ default_md = sha256
+
+ [ req_dn ]
+ CN = Test Certificate $i $j
+
+ [ req_x509_ext ]
+ basicConstraints = CA:$ca
+ subjectKeyIdentifier = hash
+ authorityKeyIdentifier = keyid:always
+
+ EOF
+
+ test -r $i-$j.key || openssl genrsa -out $i-$j.key 2048
+ test -r $i-$j.req || openssl req -new -sha256 -key $i-$j.key -out $i-$j.req -config $i-$j.cnf
+
+ done
+
+ test -r $i-Root.cer || openssl x509 -sha256 -req -in $i-Root.req -out $i-Root.cer -extfile $i-Root.cnf -extensions req_x509_ext -signkey $i-Root.key -days 60
+ test -r $i-CA.cer || openssl x509 -sha256 -req -in $i-CA.req -out $i-CA.cer -extfile $i-CA.cnf -extensions req_x509_ext -CA $i-Root.cer -CAkey $i-Root.key -CAcreateserial
+ test -r $i-EE.cer || openssl x509 -sha256 -req -in $i-EE.req -out $i-EE.cer -extfile $i-EE.cnf -extensions req_x509_ext -CA $i-CA.cer -CAkey $i-CA.key -CAcreateserial
+
+done
+
+for i in *.cer
+do
+ h=`openssl x509 -noout -hash -in $i`.0
+ test -r $h ||
+ ln -s $i $h
+done
diff --git a/scripts/biz-certs/08fd5b15.0 b/scripts/biz-certs/08fd5b15.0
new file mode 120000
index 00000000..4e65bd46
--- /dev/null
+++ b/scripts/biz-certs/08fd5b15.0
@@ -0,0 +1 @@
+Carol-Root.cer \ No newline at end of file
diff --git a/scripts/biz-certs/0cb21e6a.0 b/scripts/biz-certs/0cb21e6a.0
new file mode 120000
index 00000000..0bbc896d
--- /dev/null
+++ b/scripts/biz-certs/0cb21e6a.0
@@ -0,0 +1 @@
+Alice-Root.cer \ No newline at end of file
diff --git a/scripts/biz-certs/33b6d09e.0 b/scripts/biz-certs/33b6d09e.0
new file mode 120000
index 00000000..6a20c98c
--- /dev/null
+++ b/scripts/biz-certs/33b6d09e.0
@@ -0,0 +1 @@
+Ginny-Root.cer \ No newline at end of file
diff --git a/scripts/biz-certs/5210f268.0 b/scripts/biz-certs/5210f268.0
new file mode 120000
index 00000000..2a347add
--- /dev/null
+++ b/scripts/biz-certs/5210f268.0
@@ -0,0 +1 @@
+Bob-EE.cer \ No newline at end of file
diff --git a/scripts/biz-certs/5ebf1062.0 b/scripts/biz-certs/5ebf1062.0
new file mode 120000
index 00000000..16d11802
--- /dev/null
+++ b/scripts/biz-certs/5ebf1062.0
@@ -0,0 +1 @@
+Frank-CA.cer \ No newline at end of file
diff --git a/scripts/biz-certs/60ac264c.0 b/scripts/biz-certs/60ac264c.0
new file mode 120000
index 00000000..2f3644fd
--- /dev/null
+++ b/scripts/biz-certs/60ac264c.0
@@ -0,0 +1 @@
+Elena-Root.cer \ No newline at end of file
diff --git a/scripts/biz-certs/623ab26c.0 b/scripts/biz-certs/623ab26c.0
new file mode 120000
index 00000000..95960a41
--- /dev/null
+++ b/scripts/biz-certs/623ab26c.0
@@ -0,0 +1 @@
+Harry-EE.cer \ No newline at end of file
diff --git a/scripts/biz-certs/6878697a.0 b/scripts/biz-certs/6878697a.0
new file mode 120000
index 00000000..efc1dc95
--- /dev/null
+++ b/scripts/biz-certs/6878697a.0
@@ -0,0 +1 @@
+Harry-CA.cer \ No newline at end of file
diff --git a/scripts/biz-certs/71288ec9.0 b/scripts/biz-certs/71288ec9.0
new file mode 120000
index 00000000..b05a359f
--- /dev/null
+++ b/scripts/biz-certs/71288ec9.0
@@ -0,0 +1 @@
+Alice-CA.cer \ No newline at end of file
diff --git a/scripts/biz-certs/7449ce31.0 b/scripts/biz-certs/7449ce31.0
new file mode 120000
index 00000000..30a5b8ce
--- /dev/null
+++ b/scripts/biz-certs/7449ce31.0
@@ -0,0 +1 @@
+Carol-CA.cer \ No newline at end of file
diff --git a/scripts/biz-certs/7562977b.0 b/scripts/biz-certs/7562977b.0
new file mode 120000
index 00000000..808e8a92
--- /dev/null
+++ b/scripts/biz-certs/7562977b.0
@@ -0,0 +1 @@
+Harry-Root.cer \ No newline at end of file
diff --git a/scripts/biz-certs/80e4ab61.0 b/scripts/biz-certs/80e4ab61.0
new file mode 120000
index 00000000..17d44d15
--- /dev/null
+++ b/scripts/biz-certs/80e4ab61.0
@@ -0,0 +1 @@
+Alice-EE.cer \ No newline at end of file
diff --git a/scripts/biz-certs/826d8d65.0 b/scripts/biz-certs/826d8d65.0
new file mode 120000
index 00000000..21b78ac1
--- /dev/null
+++ b/scripts/biz-certs/826d8d65.0
@@ -0,0 +1 @@
+Frank-Root.cer \ No newline at end of file
diff --git a/scripts/biz-certs/9844d0ad.0 b/scripts/biz-certs/9844d0ad.0
new file mode 120000
index 00000000..75a23567
--- /dev/null
+++ b/scripts/biz-certs/9844d0ad.0
@@ -0,0 +1 @@
+Bob-Root.cer \ No newline at end of file
diff --git a/scripts/biz-certs/9970e247.0 b/scripts/biz-certs/9970e247.0
new file mode 120000
index 00000000..a40c06f6
--- /dev/null
+++ b/scripts/biz-certs/9970e247.0
@@ -0,0 +1 @@
+Bob-CA.cer \ No newline at end of file
diff --git a/scripts/biz-certs/Alice-CA.cer b/scripts/biz-certs/Alice-CA.cer
new file mode 100644
index 00000000..0cddaa07
--- /dev/null
+++ b/scripts/biz-certs/Alice-CA.cer
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDHTCCAgWgAwIBAgIJAJOnBwhQWiIJMA0GCSqGSIb3DQEBCwUAMCYxJDAiBgNV
+BAMTG1Rlc3QgQ2VydGlmaWNhdGUgQWxpY2UgUm9vdDAeFw0wODA0MjIxODMzNDVa
+Fw0wODA1MjIxODMzNDVaMCQxIjAgBgNVBAMTGVRlc3QgQ2VydGlmaWNhdGUgQWxp
+Y2UgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD468em/gEH9CFH
+NJoqVteNF7T5Uuuuuh8BXqLyvHGKAbiW+QjRqa1iOCR5ePIBF+GZvp0gqMCAsVYT
+BUjEsZGZz9HNoC5oSCB6B3qVOPM4m0KKzkI2oJ7QvxiI4gAd8+aLh5Bw9+GmvuBn
+C5qKc23O7Vx5zcqRoT8sEDRuEQVkLkX1eFdO4iUVnYKJGGmveEMuCo0HwEQmOTrl
+YSOPLcTkXqka+zPvE5b2RRAnC4822rI5eBPoRxw+T9roijVzpJwaxo2Io+zJVryl
+bNpekca6jzPMwXu5WXiDOP+sVUYsR7knHyLQuHGIZVwp74SYeEggQZEb3CXfFCE0
+SJDEzj1VAgMBAAGjUDBOMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFF9NTjS860sH
+rK3H0DUkwFkAPwjiMB8GA1UdIwQYMBaAFNYW2u1P4EplGEwsRN5mU9TrozdtMA0G
+CSqGSIb3DQEBCwUAA4IBAQA9+rxv8K8TXmPGVR9f7gxf72AqhcR1rK0W0dzaQ6ir
+sAAVnuPwOEWHDXKBqNkEcwx8vNg7QURU3ni1IZNkA20i9DkNygcS5zToGFW6RfYR
+3bMj9SEY//ncNZbZ94gTag/w2sB39nubNVpbhJ4/EAXorJsDHTRT/894GVFVsvoT
+ZG0yNVMdFFW8245jQ3+1rdpn5V8LG6AGN7OkCn847zs1Sz/+rSALyPYd6orgwY/t
+CuKWkFsZojvDAUyrfagF8SuHKM8h2muMk1bXrIaNhALOI5uxO6pG8JcBA/8tXKEI
+2ohjVmYDFakqOtTItlGvV3678yyY2WMJwTyclRx9Wq5Y
+-----END CERTIFICATE-----
diff --git a/scripts/biz-certs/Alice-CA.cnf b/scripts/biz-certs/Alice-CA.cnf
new file mode 100644
index 00000000..5abe8b6e
--- /dev/null
+++ b/scripts/biz-certs/Alice-CA.cnf
@@ -0,0 +1,15 @@
+
+[ req ]
+distinguished_name = req_dn
+x509_extensions = req_x509_ext
+prompt = no
+default_md = sha256
+
+[ req_dn ]
+CN = Test Certificate Alice CA
+
+[ req_x509_ext ]
+basicConstraints = CA:true
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always
+
diff --git a/scripts/biz-certs/Alice-CA.key b/scripts/biz-certs/Alice-CA.key
new file mode 100644
index 00000000..a5b32f93
--- /dev/null
+++ b/scripts/biz-certs/Alice-CA.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpQIBAAKCAQEA+OvHpv4BB/QhRzSaKlbXjRe0+VLrrrofAV6i8rxxigG4lvkI
+0amtYjgkeXjyARfhmb6dIKjAgLFWEwVIxLGRmc/RzaAuaEggegd6lTjzOJtCis5C
+NqCe0L8YiOIAHfPmi4eQcPfhpr7gZwuainNtzu1cec3KkaE/LBA0bhEFZC5F9XhX
+TuIlFZ2CiRhpr3hDLgqNB8BEJjk65WEjjy3E5F6pGvsz7xOW9kUQJwuPNtqyOXgT
+6EccPk/a6Io1c6ScGsaNiKPsyVa8pWzaXpHGuo8zzMF7uVl4gzj/rFVGLEe5Jx8i
+0LhxiGVcKe+EmHhIIEGRG9wl3xQhNEiQxM49VQIDAQABAoIBAExEcbfIu6gkNM4M
+X+/5C7I/QUPjFDNE85sH1AVrl54hSN15ECqtQmKFsSdG119eYdEphhsrmU/VBfpt
+9A3QGjx2YGIQYiexccHx6K0v9dWyPIErET6LmB19b5cBJ+gFgu3da3QxfwIIGdl4
+xLEHDO4J6/umAhr8vM5TaL0QmgZHTJO8IaTMomBHqbUm/Dm1x5RJQAQp1jGgWhDC
+8LC8II5VuzVpbe/hnady9wxzuzPSsRVoiewC/apoTFPVUQ8hjnxNFC1u3uYDNL89
+8ztimGB7U9BxVZpfJ8tM8r5px6AokoLCnDlN8+17MtNXQRNx9nbKu0HnDi7bsqqW
+aS+RU0ECgYEA/9JTuaKVyRzMV6z6OobCwrDq9Iy4R+qZxPYSVj3vyLkmJIMKLQrZ
+aa0cxyilRs4FkTO+XKZQkLC8XWSJWcr1U5cyoWriGBAo37n9jahyVn+E2YJyQoJB
+iV6VPkwkJOhqQQ4fbCEPp78i3ocMyD7Haqqbmd76rH+BzbJ/GZgjiv8CgYEA+Rg4
+iau1Uc/kayfJg2VERjmYGGlc6iLbfKbugMbHC74CVyrAO2aUKlB+Lnu2WdsXKEM0
+ug4wwt2qdGK7pSNzI2qLWVFThbgh5Qw952qTDKWtR/xSaQCRr13mEzuE4/Fz+a/h
+vax4RnqIdBFRCOl1/cgK6Wjpbau8U9W2cmgYm6sCgYEAsydQiwhZbWZFlIEHHEWT
+z1Smtmx2AadB2LWbUdo+OouvMpKyZajbaS5aoP7OAC/3piBeh/PRKAMdZyopJkEE
+XW3dfz2i6McoWMWf07zLldfn6Yt5CSq/Srx6OA6KoW5COxzw1ICyvf8VJFHfmbyd
+Ww3vump1kqgY9zyx1fK9sXECgYEAmtSTT/+LFO9D69cvSp0Hcx8ZixLyzhYcl76r
+QSBNWN8iVUwdcM6yChs+U2ZSUkf8fOpJO9zWMknWScGVIXCHgNwZAcurPtLVPqn9
+UHrOLG5O5w/PqbTQ2VBkUlAMqiLLE8hfaKZrnGNNrdeVpxR2YuiU38B2V9UHmpSc
+c0CBC0ECgYEA4+QQ81qRfzBGmleMEZ3mVM/aIk2psX9A8x3Pghn4OHqWpkalkkCK
+QBVOqUDvR0j9zIWSkXR5cnzxaj/HVAvi4tiITQo4pH1m+1tNOWfJAAsDrP+B52/Y
+OOOQYTTz5xbYPWEEaFOisnJ96LoknFieANc3ZX2P1vVfoqe3y6yj4CY=
+-----END RSA PRIVATE KEY-----
diff --git a/scripts/biz-certs/Alice-CA.req b/scripts/biz-certs/Alice-CA.req
new file mode 100644
index 00000000..0c05472c
--- /dev/null
+++ b/scripts/biz-certs/Alice-CA.req
@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIICaTCCAVECAQAwJDEiMCAGA1UEAxMZVGVzdCBDZXJ0aWZpY2F0ZSBBbGljZSBD
+QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPjrx6b+AQf0IUc0mipW
+140XtPlS6666HwFeovK8cYoBuJb5CNGprWI4JHl48gEX4Zm+nSCowICxVhMFSMSx
+kZnP0c2gLmhIIHoHepU48zibQorOQjagntC/GIjiAB3z5ouHkHD34aa+4GcLmopz
+bc7tXHnNypGhPywQNG4RBWQuRfV4V07iJRWdgokYaa94Qy4KjQfARCY5OuVhI48t
+xOReqRr7M+8TlvZFECcLjzbasjl4E+hHHD5P2uiKNXOknBrGjYij7MlWvKVs2l6R
+xrqPM8zBe7lZeIM4/6xVRixHuScfItC4cYhlXCnvhJh4SCBBkRvcJd8UITRIkMTO
+PVUCAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQDTD0KmDOGQayI5WOshALnVhpTR
+zAdYSLTuD5oKR3I5NJSRxX+Ncc2JOl43c9odeyrsq3hWoGjFQ8aR4zSOxV6incsr
+DJAkxPEkKUbrx5qkdyWMhFjR3S0dTI/dSrpTsPF5QyBCoW+0asQb7iMUsH8tlAGh
+KsKzJRMSK3Lv2SIp5jNMSVF/ozAhcUOu3taAXSWvJTJ8/xPT+BHqOZ+Pcx4FVZxt
+mdBEXhI5KlA27PY26sKcxyDGtoYBlxag7RFDFG/Zs2tFZI2oV53IBjHsYbFpYO+z
+GmfHanYm+7xIAb/VdDu7GtQtopw8YqAXQisqLvPS2fWTGLsWJNZyO8WgzG/w
+-----END CERTIFICATE REQUEST-----
diff --git a/scripts/biz-certs/Alice-CA.srl b/scripts/biz-certs/Alice-CA.srl
new file mode 100644
index 00000000..8136e7f9
--- /dev/null
+++ b/scripts/biz-certs/Alice-CA.srl
@@ -0,0 +1 @@
+9B985E838A1A1B1B
diff --git a/scripts/biz-certs/Alice-EE.cer b/scripts/biz-certs/Alice-EE.cer
new file mode 100644
index 00000000..daab1215
--- /dev/null
+++ b/scripts/biz-certs/Alice-EE.cer
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDGDCCAgCgAwIBAgIJAJuYXoOKGhsbMA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV
+BAMTGVRlc3QgQ2VydGlmaWNhdGUgQWxpY2UgQ0EwHhcNMDgwNDIyMTgzMzQ1WhcN
+MDgwNTIyMTgzMzQ1WjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEFsaWNl
+IEVFMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwInHWCqaezl1ZC2X
+16mmWXSBVrOvIQMKq1HxbijymfjZYWR5JqTDicWG1yJDiwecOQzxV6rlzLPQmFwj
+F/f3PJ0EZNooJigVU8McOlKWtT1c+CQKsUGETSrn7wbDWj8aPCLNHpCP3dWQ4Rxj
+GJp3xuhB1vxxnNPaxV99SBJHzJwXeNiVPSl8pOqfdq4XGG78sEM/0Bt+MqngPhUC
+cAP3LUhg3edFRjTu8SVIjccHVkZydFajKN6trsn2G4bvM3g2vBAdV9TFd6xQkIyO
+CX3XA7MsTqbcA5PVZIBL54HSYk65EGzy0cfObZvoaHFnNYmOXfZyBt7O8owy9HG3
+7ye3rQIDAQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBQT21/Yztl10qmJjFV+
+m8RFKQN17jAfBgNVHSMEGDAWgBRfTU40vOtLB6ytx9A1JMBZAD8I4jANBgkqhkiG
+9w0BAQsFAAOCAQEAIWC5e4Mg0wNE5pVPkYYnEQyIq2WOcR+mGB+VzpAvbt01csQK
+drZrhVBv9RKwFra9oHGHn2wseUdr1bq9slLs5Cd4iEOFrpdeygN6Oi9PdHsqHLwp
+/6R7fkhLc6ZuMqPGiSOA4eQEgdlUDl6M+yz7I1loO9mTFP/4XOLanr5SjUpP/NK9
+7UJL8nsOyA5CMRLnRXhCK1KNwy+hDdKjh95l5kANhOww9juqr5oGznOwUMTUQ4qr
+aBvcfr5zMf3YH0TImofJq6doOHvKGrHGHY3K8lrFr+Uwkf0DIiSnSgi01yijbkuN
+W0tDpcxiX4XpfiYLMcjS9H4l1Dc+Gdi/xOowTg==
+-----END CERTIFICATE-----
diff --git a/scripts/biz-certs/Alice-EE.cnf b/scripts/biz-certs/Alice-EE.cnf
new file mode 100644
index 00000000..2437773c
--- /dev/null
+++ b/scripts/biz-certs/Alice-EE.cnf
@@ -0,0 +1,15 @@
+
+[ req ]
+distinguished_name = req_dn
+x509_extensions = req_x509_ext
+prompt = no
+default_md = sha256
+
+[ req_dn ]
+CN = Test Certificate Alice EE
+
+[ req_x509_ext ]
+basicConstraints = CA:false
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always
+
diff --git a/scripts/biz-certs/Alice-EE.key b/scripts/biz-certs/Alice-EE.key
new file mode 100644
index 00000000..709a07a9
--- /dev/null
+++ b/scripts/biz-certs/Alice-EE.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAwInHWCqaezl1ZC2X16mmWXSBVrOvIQMKq1HxbijymfjZYWR5
+JqTDicWG1yJDiwecOQzxV6rlzLPQmFwjF/f3PJ0EZNooJigVU8McOlKWtT1c+CQK
+sUGETSrn7wbDWj8aPCLNHpCP3dWQ4RxjGJp3xuhB1vxxnNPaxV99SBJHzJwXeNiV
+PSl8pOqfdq4XGG78sEM/0Bt+MqngPhUCcAP3LUhg3edFRjTu8SVIjccHVkZydFaj
+KN6trsn2G4bvM3g2vBAdV9TFd6xQkIyOCX3XA7MsTqbcA5PVZIBL54HSYk65EGzy
+0cfObZvoaHFnNYmOXfZyBt7O8owy9HG37ye3rQIDAQABAoIBAQCp/7zUGuHFVUlS
+R3NfRvqK13Rvoj1KD453D+X01xDFZFRDStwxg57m4VIaV7V9Zx3HvabGOi2mnUnb
+jNarjhRtH1JG3dw/PHsANzCQSmWo5uJUcjZCpc9z9yNMCBOqdjbqy+uCRi/QtYWz
+TUYt7g09wcqIUOLbjq8GQDa00Pc2Lz+M8qRMTnmQ4C85C1Kv57CkoJooOXNpcaSi
+U/OqVWMHxMmm9FmwBoR9+R181ESuPoqZFuQGu1zGNk+bk09A7kAqcwJYgDygBK22
+BvVyY0pzyVFFpOxK1bx3NB1V9vTYErCxbY0vD7Z6jduvwD12cONzJsnB8qJmUElu
+g7DDNZnhAoGBAOiLjwjsjHf0ughQ6qhkE9uCYs+34dAzuXVS3TWO/AYrKYYZMGd+
+YkSQ7oQrEaHbVbTSow+BCh9PPBs/FrW5XbtqmYUKZnOMpw8/0M1jF1JxHP0X3fLI
+UXACX5RQS7HZdjOyiE8daIYNENhAA2/5FziuIIepVl+J5hsrmli3daeZAoGBANP1
+OAXwE4bo6GJoK8e9AyLuA42GQjO7boNCoqoMAaPSC3P8Eq04VwOrZO0R3AHy/vcD
+hBVqdALrQNUSCV6du5tOQ4z5ezKtrLwVzlTlM5srpwErEab5EyifhLHdlGjj8t8z
+qyQrKfYQ1BYKDde1AGSK82703tlzNeLFg4sFW001AoGARI6IT7A1RVQf2D3KwHQo
+qolJCkYCy7fEEEOqtZR+1m65IjCg5ZIL9Hzp5Isx+o7IOLP0oKiBTHO2m63Ayzhn
+2s31jpRfWed4hPViYHq7MHHqgu8bXu0RnT0F4pq9hiQ/RcR3jSN1YjfN5IMSwFsm
+Lm6fZn9U2Hu2HAKB0W/cvtkCgYBAPls0sYe5pG6LJTff2pJQzAOXqdH3DCB6+H+F
+Ow5kMQ33obeneSQmoJR+pqMglB5jkFVAiHuRRuznqAfe/cAXWqlu2U9WFP3+JD3d
+zXrO1XRRDlTTXztHXNJDdv28rRq4PFjrJYoaYw9lfrajYuEzmEogn2fMUPdMPMGa
+KY164QKBgQDL/aFPY7QKYhszS2afcXtGFKCfEodfPm5/iZa0Eksd8zdRJCG4LZHR
+zE6d4IEfcdGZOih9Y2YfKFUWARNWL80DKixQxmY6MAfhBao2y/OAMyrLnR0F6ueY
+D3tDy37ogAHD+GegLJf2o1Hsty/WyQo1KoheHXJ25R3On09gVbxpMA==
+-----END RSA PRIVATE KEY-----
diff --git a/scripts/biz-certs/Alice-EE.req b/scripts/biz-certs/Alice-EE.req
new file mode 100644
index 00000000..43e0789f
--- /dev/null
+++ b/scripts/biz-certs/Alice-EE.req
@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIICaTCCAVECAQAwJDEiMCAGA1UEAxMZVGVzdCBDZXJ0aWZpY2F0ZSBBbGljZSBF
+RTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMCJx1gqmns5dWQtl9ep
+pll0gVazryEDCqtR8W4o8pn42WFkeSakw4nFhtciQ4sHnDkM8Veq5cyz0JhcIxf3
+9zydBGTaKCYoFVPDHDpSlrU9XPgkCrFBhE0q5+8Gw1o/GjwizR6Qj93VkOEcYxia
+d8boQdb8cZzT2sVffUgSR8ycF3jYlT0pfKTqn3auFxhu/LBDP9AbfjKp4D4VAnAD
+9y1IYN3nRUY07vElSI3HB1ZGcnRWoyjera7J9huG7zN4NrwQHVfUxXesUJCMjgl9
+1wOzLE6m3AOT1WSAS+eB0mJOuRBs8tHHzm2b6GhxZzWJjl32cgbezvKMMvRxt+8n
+t60CAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQBhQ88kwMNKbOtFpU1VckoB6/UO
+X92EoXX26Qp1zJUjZj0ckHTCE6sDwY+mKFiht+xblf1lrYyPNUPmoDKwpj4iEReF
+EluBtXYdMVwwrxprScu/MlbFP5YmCca+luBdbNKjrYJm4OtMHXi0ii1n2x8/xXva
+Th7yfWpkY1K7z2ePou5Il8wjmQJ7yKD9arBl/t1OyM2OjsZAoBqGQLT9/aoQ5ASb
+0jtAEhk84BvNDBWAR1Qrk2+sS1bZqbWiDgohcoWGOnvXkjOu/lA34II27A6IVILJ
+NXAK0oLR04YA9Vy3G8rRhV+yjr5lvCDe+t2mgQNYWATBPYy5/J/eoRt6y4h6
+-----END CERTIFICATE REQUEST-----
diff --git a/scripts/biz-certs/Alice-Root.cer b/scripts/biz-certs/Alice-Root.cer
new file mode 100644
index 00000000..3ac7fd7c
--- /dev/null
+++ b/scripts/biz-certs/Alice-Root.cer
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDHzCCAgegAwIBAgIJAMaaNUbH2Aj2MA0GCSqGSIb3DQEBCwUAMCYxJDAiBgNV
+BAMTG1Rlc3QgQ2VydGlmaWNhdGUgQWxpY2UgUm9vdDAeFw0wODA0MjIxODMzNDVa
+Fw0wODA2MjExODMzNDVaMCYxJDAiBgNVBAMTG1Rlc3QgQ2VydGlmaWNhdGUgQWxp
+Y2UgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKUzjQ7dObY7
+fUKAxi/7znJ60Mi/s1rByfHs4Onduc27dw+7tS6D0r0k+zgCFpkNPl98XRR6LvJJ
+ckRMVIjPvSIoe3EN683Bwajq24VUAayZ1Nn2muy4yN4XHtRep7Wi51aRWVSR3mTk
+NUn+a7dEtWlONtHANbbBcob8/Ufe4L+jO9PkNOWEtIJMjcxZsq4Zq1QXvKGNZbPh
+/Ous7orKsdVCOp5mEjuLpCYef4cTlZxk7q2CItk4hRDi6bG7BaMcmlm1Rne8YTvu
+oUXrbWgfxSeis2augNKQ2NvEmIqS2Njau/5x4WD5qyTGqj5CrTOCNZfa21G+dshn
+cj11ksaax6ECAwEAAaNQME4wDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQU1hba7U/g
+SmUYTCxE3mZT1OujN20wHwYDVR0jBBgwFoAU1hba7U/gSmUYTCxE3mZT1OujN20w
+DQYJKoZIhvcNAQELBQADggEBAE7sYZq2oA+dRI9fXNY4ghs8Hz/7VXsbDpjdlSpr
+v3JEplVhiLygsiwD96FU07WHQtYjXsSPqXVfJ+TPOtdY6dG6SzygsKgW8EGD9C3E
+A+8QbaUrJnx6vuVPPiPQ7t2FgwgijI3jLfSgvMr8LmEkjJu33g1BnxxGX8WcslcR
+VPleiujGEC780MH61jhNUA1RhouFlkIC13miyw6TXB28K5/bYXi9ANAWr/i70+7V
+25BuswyRxq37UOqMM7Sc0pIaZw0AsY+wJPGEi7idUNj2MAhV00Iql6PHcVG4BH0u
+aAqlQoarzUTC3aMEz8yZSx6NVWbsEJooJT6y+NVF/JReOMo=
+-----END CERTIFICATE-----
diff --git a/scripts/biz-certs/Alice-Root.cnf b/scripts/biz-certs/Alice-Root.cnf
new file mode 100644
index 00000000..03bc395b
--- /dev/null
+++ b/scripts/biz-certs/Alice-Root.cnf
@@ -0,0 +1,15 @@
+
+[ req ]
+distinguished_name = req_dn
+x509_extensions = req_x509_ext
+prompt = no
+default_md = sha256
+
+[ req_dn ]
+CN = Test Certificate Alice Root
+
+[ req_x509_ext ]
+basicConstraints = CA:true
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always
+
diff --git a/scripts/biz-certs/Alice-Root.key b/scripts/biz-certs/Alice-Root.key
new file mode 100644
index 00000000..1c417192
--- /dev/null
+++ b/scripts/biz-certs/Alice-Root.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEowIBAAKCAQEApTONDt05tjt9QoDGL/vOcnrQyL+zWsHJ8ezg6d25zbt3D7u1
+LoPSvST7OAIWmQ0+X3xdFHou8klyRExUiM+9Iih7cQ3rzcHBqOrbhVQBrJnU2faa
+7LjI3hce1F6ntaLnVpFZVJHeZOQ1Sf5rt0S1aU420cA1tsFyhvz9R97gv6M70+Q0
+5YS0gkyNzFmyrhmrVBe8oY1ls+H866zuisqx1UI6nmYSO4ukJh5/hxOVnGTurYIi
+2TiFEOLpsbsFoxyaWbVGd7xhO+6hRettaB/FJ6KzZq6A0pDY28SYipLY2Nq7/nHh
+YPmrJMaqPkKtM4I1l9rbUb52yGdyPXWSxprHoQIDAQABAoIBAEM7p7zU7BfuPhxC
+rGX65RpSQYZx/lyBYd7DuQV055mDIgGVMzerDqlL07IHp4rCiQ/zXS5oS5LvsUF6
+jyze3up370UjlUQ4BsjoTE8G0Wedc7MBWivdSGKapkFoBHk3w07H+MMiWpBVEBr9
+IHmFzQ7+dfEHeNTYBfRKIgqN+ooDDYBAQVmu2fbJqE+9dfhlej0gR8YkWOB7jM9G
+OPUVp6EvII7LUyJcNBJs60AYIvLClmr2nUchr8pN3H6nlZCWu7RkBOSoJKwjmQga
+I15SPQP7XhoHQigk/Yb9JCs1OsU/Ia/49HrUa1KsaxdVnAOTbLAhlP7UuFOgxGjK
+jHre/MECgYEAz5OMGmoYSVD0DFnhswA2W2Nr7kKSNVt81S4IfVfdTodae7f2E7N1
+APO4CkuT6EKEvnzH/HVZmtzOYgXvgL4vY/GxDEg7mcd28l29aIQLWamdC3/68UTf
+KcnLtRn/bvM0zdXVA7w7lKGmNvb27+gVtKj5rsUBDHGyfyRm9YlQvr8CgYEAy71e
+/6pp7TY5pZlrgTxKVPugjG2bhkw4fhiuCbz/2Qa84hZj/1JYdPxVlm6a1Ggaw3ye
+bar7uC2nH5WkUYYOa0fsVb6odso7vdgtmhQ/KCtSRFYkKeV3lIqTRaTaTidvMW47
+Jyq5HVrROuHu85Hq432P4vxx8bTpPVVreRk+cZ8CgYEAnkIR+TmWVp9/0cLdTwoE
+Z1y/tyHOMxwTarz0AAxzUCHmHJk+5fpWZGlskXzZwaSlbE3ac2JM9MMQHrAD0BYw
+L3Tf1UtlFXN7/oD1na++r5efglsKydQGiOevhd3SX5bRVXWIOJbUnhc4kINt9a7u
+jZSe+F5+1CwDOOhaDy2oACUCgYBr39zI6eYkHy3urIjraIzC6mhbcj2CoiDXQyID
+LfsZYiPoYYqYyXTknCaE/BMmm+hv0S/hSUL2hdWTN5xFPgGsc+yCieyQ2QtAvZGH
+n2jBUA7C+Ak11bW3BJhtq5ebAe4x8feICWryS/+0eaQXew8vXHAu8xMxs2Q7gVri
+R6d0aQKBgB2icc334t8YErRr5t+iykls2QHPpRESxW2d8YDt8LFQKi0QfQoLpFPO
+W1XMVX88rwCIr2dK6+CgHgSPrwdaefxlgT7bzvnkircVotpe48PkFI6W3Wm398iE
+V29ErS5e5gW1zvrKlk7m/mteOf9E26hYUZDN3kNALiZ2k5GfGnsh
+-----END RSA PRIVATE KEY-----
diff --git a/scripts/biz-certs/Alice-Root.req b/scripts/biz-certs/Alice-Root.req
new file mode 100644
index 00000000..ca1560f9
--- /dev/null
+++ b/scripts/biz-certs/Alice-Root.req
@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIICazCCAVMCAQAwJjEkMCIGA1UEAxMbVGVzdCBDZXJ0aWZpY2F0ZSBBbGljZSBS
+b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApTONDt05tjt9QoDG
+L/vOcnrQyL+zWsHJ8ezg6d25zbt3D7u1LoPSvST7OAIWmQ0+X3xdFHou8klyRExU
+iM+9Iih7cQ3rzcHBqOrbhVQBrJnU2faa7LjI3hce1F6ntaLnVpFZVJHeZOQ1Sf5r
+t0S1aU420cA1tsFyhvz9R97gv6M70+Q05YS0gkyNzFmyrhmrVBe8oY1ls+H866zu
+isqx1UI6nmYSO4ukJh5/hxOVnGTurYIi2TiFEOLpsbsFoxyaWbVGd7xhO+6hRett
+aB/FJ6KzZq6A0pDY28SYipLY2Nq7/nHhYPmrJMaqPkKtM4I1l9rbUb52yGdyPXWS
+xprHoQIDAQABoAAwDQYJKoZIhvcNAQELBQADggEBABL2QC3F6SB7z9ea60EthZuI
+QXRxxEKoGQ18nbQhFjWRxqGYTE4eE57jRNbe4RfZNXTfb60ygMJa4oyWXEw6XoQT
+e48ogc3xaoWNKeiRQIGmpZM+QLUqQz+Raj0lit+WP4udaO5/1l5JHTs76zOFRRxv
+dW/IVuIAI7QXPRoeolDaWuBKcgl0UIMobqO9sdYb9XZ+Ix3DSqo7U+UJSXVZEXfI
+zwLrBx52TWLPnK5qaAo3vWLiAEmDOlehLizrer5v+Ik2i+WlAxu5TCumare3pxMD
+BS40M5zBygCsU5qsG5/Wdbev8Sexu6g6wR7bM2+dplZIBGvHQ4oNG9FpDvJSzc0=
+-----END CERTIFICATE REQUEST-----
diff --git a/scripts/biz-certs/Alice-Root.srl b/scripts/biz-certs/Alice-Root.srl
new file mode 100644
index 00000000..2b277fe6
--- /dev/null
+++ b/scripts/biz-certs/Alice-Root.srl
@@ -0,0 +1 @@
+93A70708505A2209
diff --git a/scripts/biz-certs/Bob-CA.cer b/scripts/biz-certs/Bob-CA.cer
new file mode 100644
index 00000000..be1ef601
--- /dev/null
+++ b/scripts/biz-certs/Bob-CA.cer
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDGTCCAgGgAwIBAgIJAJMWVNPEHXn6MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV
+BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDgwNDIyMTgzMzQ1WhcN
+MDgwNTIyMTgzMzQ1WjAiMSAwHgYDVQQDExdUZXN0IENlcnRpZmljYXRlIEJvYiBD
+QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANs7D3bWU8rxiAn+Mhap
+INpgBhMWazoSWDramC5xIInJj7cwa3zisJ487q5dUqsWyGOS3MNTNJg/NTGz2zEG
+HI1GmBh4jGAhZYQCwqdEk6wm5aWPvICLZFIGKHtugPk0V8eN4QxdNm/0Yo6j2ne+
+1XHL3BS2quKTlTGE4bEcneH2397RJFjgWS2JKMFXXlOg6WwHEvFVl8fiFHpxueWQ
+dVSBHwl10osBxzeK6W90ofeX2PJ12U4uMO2vBAMIiosmQ8QPtUICohPdJ3zM6b2G
+q5/NpG/0cH8Yd6HI/VrgXeP1g78VHw3oTnui2w04PTT07a+0GKzos4ssH/CmqD3k
+m3UCAwEAAaNQME4wDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUu8ac0kfdNo5qjTPZ
+mvBg0urCTkgwHwYDVR0jBBgwFoAUJUQ5+BR+Qt1BwUU7/P+fVgkRe/cwDQYJKoZI
+hvcNAQELBQADggEBAKlNp7PWspkt5VFPe2Xm39rjN1ZTdiKnww7IE5dt0RR9H2Q9
+2kriOt6zauJa5fnWCdU5nLffdJBD73k9C+/K7LqyTY+/sXs7Hw1sW9cvfW/qCxmV
+c8xhANjpwwrbGrmpj5mEGemjMICsND45cglsn6OxMogK/dmGoUhFUI/Sd3QlLuZj
+MkCSLartXuLs6UVnSZoLQrHnS/i5G6X9wO2+w5fZr1qLAIXpse+eomsR8gdhPdW9
+EkOpqRhae71lpwciMI+IWXPVlq6K/Z5DxcVQiweyT+zUzpzyh+AsKej5c/qrpMPC
+h4LoKmBaYVkB62GIyxwdnux3NgpTQ25s2ILOBOk=
+-----END CERTIFICATE-----
diff --git a/scripts/biz-certs/Bob-CA.cnf b/scripts/biz-certs/Bob-CA.cnf
new file mode 100644
index 00000000..8e3e80b6
--- /dev/null
+++ b/scripts/biz-certs/Bob-CA.cnf
@@ -0,0 +1,15 @@
+
+[ req ]
+distinguished_name = req_dn
+x509_extensions = req_x509_ext
+prompt = no
+default_md = sha256
+
+[ req_dn ]
+CN = Test Certificate Bob CA
+
+[ req_x509_ext ]
+basicConstraints = CA:true
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always
+
diff --git a/scripts/biz-certs/Bob-CA.key b/scripts/biz-certs/Bob-CA.key
new file mode 100644
index 00000000..d331ba47
--- /dev/null
+++ b/scripts/biz-certs/Bob-CA.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEowIBAAKCAQEA2zsPdtZTyvGICf4yFqkg2mAGExZrOhJYOtqYLnEgicmPtzBr
+fOKwnjzurl1SqxbIY5Lcw1M0mD81MbPbMQYcjUaYGHiMYCFlhALCp0STrCblpY+8
+gItkUgYoe26A+TRXx43hDF02b/RijqPad77VccvcFLaq4pOVMYThsRyd4fbf3tEk
+WOBZLYkowVdeU6DpbAcS8VWXx+IUenG55ZB1VIEfCXXSiwHHN4rpb3Sh95fY8nXZ
+Ti4w7a8EAwiKiyZDxA+1QgKiE90nfMzpvYarn82kb/Rwfxh3ocj9WuBd4/WDvxUf
+DehOe6LbDTg9NPTtr7QYrOiziywf8KaoPeSbdQIDAQABAoIBAC1IgMQ6NyqnQ0NV
+J0F5A9k3lmmg6tse6OyXNHH7Wg47/RyIutsb9AFrcp2/lxDR7uhqcIFEEYwVGka+
+8NqqeYFRAJ+lXtGIdHCVJWHpj1sy2aKeEwC2Si2LKhd81tUi07Lbgo3MPy9W2ni+
+LaUoXOxZgIciyB9u/pUw7nFoCNCgjN6/VmYZO8R75SYPf+XfKawKkkZH6Gc0LiiY
+NN5Am4fpmGKCdPHUFoZPA3tkTAnwoZ8a7Vckt4DSOn+Eh6R1DU7u9k08zTqSj6Tk
+ToKah9hXi8kxkHMqkaKQcrZiwJNbdVqJlJiJMKadOsWS9lOjdIQC7VVh+7V2fIyb
+/OPLcm0CgYEA9yDubu/EN2Lu/i4T8SR2kGOYfH3EmjXgy5LMfDRFNK81yer6mrLy
+xQhPvyEPVnz7lvUShP4igIuBermD6PhLm4pXrQnd8Kpu7Qina1xe8R/5HZHgyVXA
+J2PFtmoqowMwUMbQ6jwNKtWybKzJDKKf6WaLNaqGgawJObNTuLaKK0sCgYEA4xnA
+fuGs4V3U7h4AieJilEcUeF3aWk70OrAdkFNVnrMnW59dGmACmJ10NIeMnzGtJ1lX
+q/IOZmSag91O3SADOddp5+CjuqvU37Wi+ve+Z2f+qI2acHnBN54PlUEhUO+O5Eyv
+3WkJIKn4MkMNLNqJ9woGpq1L4MDbHMvdrVzfXD8CgYEAmDWbRY69ztNLmhhtRfAM
+aqA9MigQaF7Y5umysqlLGsjzmzr0QUYIity0qWbGWKHAH9kwH+ObAotqI1mR6nLL
+trA9kiFqpimDCtFytIh/HYpw2AqaZcdAA8LK6rB3NFHpd0cNM8fq4EAglhjR98tO
+LOZwxYwTLlj0kapm3XToowMCgYAMzdPjk3e60R6DOl/PZlsmfwdxbeE0vETa1jkk
+fP5Tz0gFy2tlZEphLmdx2r6b7yITGN9vi1syfLOVgbHDl912smV/NFQm3y9GWahR
+vAwZKmzaNfmiI8s4BopcYOqu9IK67nPv6M8h71NWCh/BCqVCr2cGmLixeE4iRoA+
+GQFi4wKBgEdZI39hulduXBo0LM5+Gc2WowNAGMk5cu9JS05Ypm+fpepn9Z7yXX+g
+y5PHJthN5IHDOWxPDuOI8vKdWumqwMJwZaXnuiaTzRcfHKHTQsFuFJz0KbkLFd0o
+NPdLjn20zsJ3ZniHgWwt231trs81f9ZApUO2NAa0KcVGdB6iYk2j
+-----END RSA PRIVATE KEY-----
diff --git a/scripts/biz-certs/Bob-CA.req b/scripts/biz-certs/Bob-CA.req
new file mode 100644
index 00000000..97cf31f4
--- /dev/null
+++ b/scripts/biz-certs/Bob-CA.req
@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIICZzCCAU8CAQAwIjEgMB4GA1UEAxMXVGVzdCBDZXJ0aWZpY2F0ZSBCb2IgQ0Ew
+ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDbOw921lPK8YgJ/jIWqSDa
+YAYTFms6Elg62pgucSCJyY+3MGt84rCePO6uXVKrFshjktzDUzSYPzUxs9sxBhyN
+RpgYeIxgIWWEAsKnRJOsJuWlj7yAi2RSBih7boD5NFfHjeEMXTZv9GKOo9p3vtVx
+y9wUtqrik5UxhOGxHJ3h9t/e0SRY4FktiSjBV15ToOlsBxLxVZfH4hR6cbnlkHVU
+gR8JddKLAcc3iulvdKH3l9jyddlOLjDtrwQDCIqLJkPED7VCAqIT3Sd8zOm9hquf
+zaRv9HB/GHehyP1a4F3j9YO/FR8N6E57otsNOD009O2vtBis6LOLLB/wpqg95Jt1
+AgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAQEAyBFrothS4q0MxROfMIxE9Okq0Qrn
+f0l2SBAjoulrz6LueU90S1wCmQVeku7msJ05pHwNDIiDxnt9cOJy4X4kR64XPd+s
+AYgQ9jEzGXo5WM+afxnGdYlnmSH0+MyGwkOXeckLtk/lN12b+E8fCfd0+vZqtppo
+4rr1LVw7N/p1y8jYKitZziQnDcVCAzcpzevyKgyimrSKiD5Khu+QwpME+VgqMI/n
+duCx+49uWzzGs4evNoqR090qTh313cRtZbj36/f85t1MMg/zp9SgWb9zG+wa2sgQ
+Cmi61Ii02VZ3oKul1yAOpxrqy9W02qllmg2GP3iiEct7vTKce9zDII1ecA==
+-----END CERTIFICATE REQUEST-----
diff --git a/scripts/biz-certs/Bob-CA.srl b/scripts/biz-certs/Bob-CA.srl
new file mode 100644
index 00000000..a20e2ccd
--- /dev/null
+++ b/scripts/biz-certs/Bob-CA.srl
@@ -0,0 +1 @@
+90801F1ED194556A
diff --git a/scripts/biz-certs/Bob-EE.cer b/scripts/biz-certs/Bob-EE.cer
new file mode 100644
index 00000000..43939903
--- /dev/null
+++ b/scripts/biz-certs/Bob-EE.cer
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDFDCCAfygAwIBAgIJAJCAHx7RlFVqMA0GCSqGSIb3DQEBCwUAMCIxIDAeBgNV
+BAMTF1Rlc3QgQ2VydGlmaWNhdGUgQm9iIENBMB4XDTA4MDQyMjE4MzM0NVoXDTA4
+MDUyMjE4MzM0NVowIjEgMB4GA1UEAxMXVGVzdCBDZXJ0aWZpY2F0ZSBCb2IgRUUw
+ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCn/+Kvikpx8u3PIhKhfNdJ
+B4rdyQ6ixHJAItlSyI1CmWZLp1j1f7tDC39B3uLMLWHuSQDeDwSR84vGuFxMKtCf
+E0uuUpkxR49ADsz1vFTM8SxVkqKAerM1zaQOC/RD4CkZxaIrfOcfZnqShUEUrJAR
+MAb/zPfLZ2wiS7RlsUipfx+/LforuNfft+SoNDQmZIU8buhTUFgwhdTtE4Nbj+dJ
+yaQ7Gw/m9QjStm0SUDs4duxE9XLS1eZpYLdLpnf1UDQKOmW+PHFDyVEmPuE0y/b2
+b3aFYEpegdxa97wTNm5vsFE2ESSZ4lrIHFAHwsK9H9rZkdGIgm0Zg6JEiiUdyw5J
+AgMBAAGjTTBLMAkGA1UdEwQCMAAwHQYDVR0OBBYEFK8qXFH8u10Oq2Oid5YHUqOd
+OFNuMB8GA1UdIwQYMBaAFLvGnNJH3TaOao0z2ZrwYNLqwk5IMA0GCSqGSIb3DQEB
+CwUAA4IBAQCQv7sj1Q4Wl4sW/zUL6yWrLfRiXD6FIDnZAUFhlE7bBtjgSrW4MOyn
+Bk1lhSvsDptsomx9/GqpYlYWp7JbrzncZDPsr/gZ3Gk7oxSD4jYhIi25sAWv75he
+8iwHyzmAb0DMi7DM7l9a1+dhYFn5YfUe8B3INJxNqophohBdUKPegbbiu+rP0W4u
+EXm2VGKEGEdZ6BCDqaj001NLIm/2diI0kNkBojnXjBV9Th3hoKNKjzq61jCyKRSi
+hVmPCYw1EPLr62e76tJA7zLBin7P5YH1qFoQGne2MtMVjojkNNjRRxmjdpjUzgWg
+QHsQU30r7/SYKYCLmSpPunK24gmYD341
+-----END CERTIFICATE-----
diff --git a/scripts/biz-certs/Bob-EE.cnf b/scripts/biz-certs/Bob-EE.cnf
new file mode 100644
index 00000000..30075411
--- /dev/null
+++ b/scripts/biz-certs/Bob-EE.cnf
@@ -0,0 +1,15 @@
+
+[ req ]
+distinguished_name = req_dn
+x509_extensions = req_x509_ext
+prompt = no
+default_md = sha256
+
+[ req_dn ]
+CN = Test Certificate Bob EE
+
+[ req_x509_ext ]
+basicConstraints = CA:false
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always
+
diff --git a/scripts/biz-certs/Bob-EE.key b/scripts/biz-certs/Bob-EE.key
new file mode 100644
index 00000000..fe2d8a29
--- /dev/null
+++ b/scripts/biz-certs/Bob-EE.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEogIBAAKCAQEAp//ir4pKcfLtzyISoXzXSQeK3ckOosRyQCLZUsiNQplmS6dY
+9X+7Qwt/Qd7izC1h7kkA3g8EkfOLxrhcTCrQnxNLrlKZMUePQA7M9bxUzPEsVZKi
+gHqzNc2kDgv0Q+ApGcWiK3znH2Z6koVBFKyQETAG/8z3y2dsIku0ZbFIqX8fvy36
+K7jX37fkqDQ0JmSFPG7oU1BYMIXU7RODW4/nScmkOxsP5vUI0rZtElA7OHbsRPVy
+0tXmaWC3S6Z39VA0CjplvjxxQ8lRJj7hNMv29m92hWBKXoHcWve8EzZub7BRNhEk
+meJayBxQB8LCvR/a2ZHRiIJtGYOiRIolHcsOSQIDAQABAoIBAC2DgotiINcMJGc4
+aOm9I6oSVAnP/ZoVNIqxpkTqNnLzkiYu2Ufxae84/yn+U11TcjOXLZf7Y5aS76xP
+qBmug8SE+rzofb4/D80f9WEhu6umLwej6Uh7dW+/HZH8pRl6ckgcJdo4RXlZTx3A
+4ifStFkjtNG6WuuNQltsPRxL0k6wxHNERCYnU7biV6G0QhOtQfXuUo2f5eud1vfv
+mM+N0DA51EAfFxQw/J3P1OxOgj8k20aehbm7j1eLiFitXHBEA/Mt4I6RAULxm3hj
+a249inqlRAJJZ69XTSpLBazH0Z3vcfRtOeniC01IO2jtDeBukor20jjSQ0HOU4KS
+H0yDwgECgYEA3US5w30FrBHbGxyunM0HKolo7wPHlGAwXoXiAlPZq75awBxCKa1o
+IJH+nZlKeUqIt1kzLAZ4mSYsOdtT1unOD4+2+mg31mmPw+WnXTcBGter0u5r9BHf
+aY9La1EHpsm7kZleSR+GOwRdkY9u5psm63B2pJ6UkbgQScq2dWE3iMECgYEAwl6l
+EmKT8U4r7/DT30xXB6G7Q8hphtD1EQth/zub/qP1b/r7zbWXcy194X5sVkWM0Xv5
+sjoG+jI4zXyyspyucoXgqtfOE6MBAs5ifK+lC1LVP7vYaK/DAzAjaZq6BxuF/MNA
+RNFY3OMVScO+cbBDCDePHJjj6+c7LlxrI9bjn4kCgYAfC2Rw3BquoLa4IBcTouSN
+gEf7uPEIjVJcALbMEs2ofgWnjI9v34eLglBR9k7vo5h4+Qfn9mR3QFbWK0KhFZ62
+qjhG+9ZRu+/S0Wbg+jWqeXX/GzqEPPm2isdPIEhNi2JItFb5NXYU07D5GkG6Eyyr
+vdS3lhRMOaH3aHyfDWvIQQKBgD/VO1sNWs7NwGo9aieUd6R+/fQl1lo7N7CQT2+2
+EOYQzKMpBxcowwNFdmjezw+KKdQGZhudKPt0EOmTQVCdWkEsLHuPAhO63bMhOoD+
+YjKU0onq1AiVaHMclRSyhtOcu2Umbm3rXsa0ISKnkVze6TTColJe98Nanjn8igcs
+JHcZAoGANXOUvLjB7V9xrf3ixdbmh4/I1jFkBM/csYHjTYLIWlaxYRIiIib8FaYx
+npZ7dRoZ+IrLPqwRwaaUYo+1iWa8lH0C3cNnRKDxkvDdjjMmdoGX+RjTroWzoN16
+zOVZXQNHzGKIMjGeAOZ0poIEWho5Q3JLiLETfV9e9JYuWmudjK8=
+-----END RSA PRIVATE KEY-----
diff --git a/scripts/biz-certs/Bob-EE.req b/scripts/biz-certs/Bob-EE.req
new file mode 100644
index 00000000..e832fd64
--- /dev/null
+++ b/scripts/biz-certs/Bob-EE.req
@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIICZzCCAU8CAQAwIjEgMB4GA1UEAxMXVGVzdCBDZXJ0aWZpY2F0ZSBCb2IgRUUw
+ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCn/+Kvikpx8u3PIhKhfNdJ
+B4rdyQ6ixHJAItlSyI1CmWZLp1j1f7tDC39B3uLMLWHuSQDeDwSR84vGuFxMKtCf
+E0uuUpkxR49ADsz1vFTM8SxVkqKAerM1zaQOC/RD4CkZxaIrfOcfZnqShUEUrJAR
+MAb/zPfLZ2wiS7RlsUipfx+/LforuNfft+SoNDQmZIU8buhTUFgwhdTtE4Nbj+dJ
+yaQ7Gw/m9QjStm0SUDs4duxE9XLS1eZpYLdLpnf1UDQKOmW+PHFDyVEmPuE0y/b2
+b3aFYEpegdxa97wTNm5vsFE2ESSZ4lrIHFAHwsK9H9rZkdGIgm0Zg6JEiiUdyw5J
+AgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAQEAmTMkm6j17cnyPnivGZQ0ydfcChLD
+YAZfW987Tn6gSsYJjvh6LiDH2ap/Dm66KfdcyMQBgAtCtXEsU+kmfU9owPpMbr/n
+51VmKVyGq9c/7bkrXrXXr7w007wtXfS7vvt0130bdo9jxpHpRlIttensYANIslGe
+yqe3bF97JqzA5SkUg0dnfHloebQskPx+JF8gWjjfIx0iEJDHIFcXV41GYTMc/Lsb
+GfTUc9oJpyjcWYZSi6220zQm6AvzOy5iwuzpcc6o78E8HTOlPq0xgHzEuzVwefHz
+4hhnDFUycgX2Ohbupr5KaarLxCcfmrRGM7kQPfSJgeIRzAuBfcFhyRQ3zA==
+-----END CERTIFICATE REQUEST-----
diff --git a/scripts/biz-certs/Bob-Root.cer b/scripts/biz-certs/Bob-Root.cer
new file mode 100644
index 00000000..3328831f
--- /dev/null
+++ b/scripts/biz-certs/Bob-Root.cer
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDGzCCAgOgAwIBAgIJAJN3+0kOYWF5MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV
+BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDgwNDIyMTgzMzQ1WhcN
+MDgwNjIxMTgzMzQ1WjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEJvYiBS
+b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5EdHnAvefaawcNq9
+jBUnfB927TeborbiIst1bZmYLid1RMz5JjFWr/pUqKU/wsLKxJK2h8bBW+K21ePD
+mJZrhyBDj6zNnlJUzyVysLER/jQ6hoHIhqZv/OR8q6D7eeXIFZGm4fsQLM0RsyYx
+6dF0JyI2uBpRVEbvyZUhsxjmfGwf7oygvaNp5c2kWftt9YADs1VnBy6HITUvyUPB
+Dc2rQWPtOqYo6jhRn3Cj+uY++pJVuL0IgHaofEu7n//t+f52BC31+qW5UlKjhkg+
+S+dlPxqwSf6Bml+wxN0y37fFuTGdL5IK9HMfC104b7fInsytrVAVjkMHAp8d5XSu
+pbfctwIDAQABo1AwTjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBQlRDn4FH5C3UHB
+RTv8/59WCRF79zAfBgNVHSMEGDAWgBQlRDn4FH5C3UHBRTv8/59WCRF79zANBgkq
+hkiG9w0BAQsFAAOCAQEApN2pAGpO1SNkercFPS08wKP3Hb8PZiWLTqSzBU0UqlyF
+VK/dJze2mbqrvX1Uw4cf7FgQbCH50HnPt14Afa+iXuvMxNPof0Go64iKfgDZVEcw
+BHKhWVh0AEf6UE14nxZFb3gYIM/EbNKMkoujEXmcX3YMCY2I2ASdzbLuPRuyt36w
+fApv/no0dx6mtBTGxpOPD2U+XJYMw64iYX9CCVK4qFbWr6L4DUCm5C2wah398io9
+WllW+5GRuEeF3FiU2g8cgmAdbaJYKA1ldhCQh6VmzEgqElMmfmb/t+/A/TI/uVre
+3rN2wKU2Na5ollpu23btf/KagyzxDsQiMWKT4taOCw==
+-----END CERTIFICATE-----
diff --git a/scripts/biz-certs/Bob-Root.cnf b/scripts/biz-certs/Bob-Root.cnf
new file mode 100644
index 00000000..1505abbc
--- /dev/null
+++ b/scripts/biz-certs/Bob-Root.cnf
@@ -0,0 +1,15 @@
+
+[ req ]
+distinguished_name = req_dn
+x509_extensions = req_x509_ext
+prompt = no
+default_md = sha256
+
+[ req_dn ]
+CN = Test Certificate Bob Root
+
+[ req_x509_ext ]
+basicConstraints = CA:true
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always
+
diff --git a/scripts/biz-certs/Bob-Root.key b/scripts/biz-certs/Bob-Root.key
new file mode 100644
index 00000000..bb9a897e
--- /dev/null
+++ b/scripts/biz-certs/Bob-Root.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEA5EdHnAvefaawcNq9jBUnfB927TeborbiIst1bZmYLid1RMz5
+JjFWr/pUqKU/wsLKxJK2h8bBW+K21ePDmJZrhyBDj6zNnlJUzyVysLER/jQ6hoHI
+hqZv/OR8q6D7eeXIFZGm4fsQLM0RsyYx6dF0JyI2uBpRVEbvyZUhsxjmfGwf7oyg
+vaNp5c2kWftt9YADs1VnBy6HITUvyUPBDc2rQWPtOqYo6jhRn3Cj+uY++pJVuL0I
+gHaofEu7n//t+f52BC31+qW5UlKjhkg+S+dlPxqwSf6Bml+wxN0y37fFuTGdL5IK
+9HMfC104b7fInsytrVAVjkMHAp8d5XSupbfctwIDAQABAoIBAQCpnUjY6nzDkfIx
+uGX0SteOw3ZDJflPOmHmBpTW/bP0Pz9EAqTxOuG1WeRDdp1cog21Z2mWkxiipF7D
+qDtyCfoVaeSpQXV6OKRpUeLY5IiA/9+oh5AudEZren4jrDaOSSyU0idUa46GK00G
+ds/JcubCGQrdWjipzRdoCZYDk/HV6b0znawQybmiDrMKsxfXB8GyPTBMhddHDUN0
+Kkth+hEJfszcf2+00x45X0lA6SEh2zMKKHwlMze74jkrQJkq/CjYTWYAxRsNNXJs
+I/gLJcClU5LId1ro3o8TYZGiZ7X+USNjVjOoXkEsIlCymPRFd6Ib4+RLp+cFldUS
+Fiqr1PchAoGBAP/JBDa21Cd8uAeRLOFYXQJxLbXFXdtja/GnjB6lZ5kky1QfJRIH
+gXY0qVQwnR7yg7jUvsa1ANNWy+S7bwEaDRJA5C0/HKdhstaIQ/LPhg4tB6/wcmT9
+KzE+8w8Ki0/GePoqdNHxJx4jSR1DewjN5QCQnzd6zaQfF3/I45YhtRxRAoGBAOR4
+WbSbt0zSJ0FP4ozVfwX6uyzp3HgW/NbvhHvtyEky92Tu6+jeKu+k77nRDg9jIERi
+L0CtOAjO/1ZLLCBkdFu43f0VP8vFL77EtgpPw2od+Ftzq3ACEUfFSsyMHhyYrMyS
+C+JrFyvEPijThLXw1noSgfYuxiOGuu4JlOyeMY6HAoGAWmo2ARkzeRnO+23HzYgs
+qHZVUBGKEcjdGTi+gP661hl5fizcL7lTe/M1f7sHby8OfMFHBnpo5kuiGyJeJKeO
+w0sI3S2X9VrFmqvkSOouWsh0FS8LYMNVBz1XMZPqlrJzhQqI7MUvrKmQaLW3we71
+6fM1NKlGE6Oh7NuYBzO3D2ECgYAfXVpLThlC5ZLYB4R9ew2+H2a0ysImhlldlHIm
+pUUar3GBHL+sL1vLnGQAqW95s00JtkTwZxdLNkedbCJ5q/DBasam6NTiP4bHdK/d
+CIg2ODkRLPb7IH2I0c/r9sxndpo6V05kXflHW+CAsFEGvTJkfcfzqQYweF2PMieM
+uEbrXwKBgQDFKDn3BcawfaRnuKMLI3iyKk8qoIAQGcKDsmPWjD+CiYLbSC+2Ppcb
+wZ3mCRpuI1GYM0UKHBgTZ7OQspO84Mc3ZIpt+CiGQRXighayFKsx3czLpqOoQhkT
+h9YSfDfrAb2fsHEbMsTtbdqe/b7ciEIyHiyoWMTmosmirL8/nz4uWg==
+-----END RSA PRIVATE KEY-----
diff --git a/scripts/biz-certs/Bob-Root.req b/scripts/biz-certs/Bob-Root.req
new file mode 100644
index 00000000..62ad1cea
--- /dev/null
+++ b/scripts/biz-certs/Bob-Root.req
@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIICaTCCAVECAQAwJDEiMCAGA1UEAxMZVGVzdCBDZXJ0aWZpY2F0ZSBCb2IgUm9v
+dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAORHR5wL3n2msHDavYwV
+J3wfdu03m6K24iLLdW2ZmC4ndUTM+SYxVq/6VKilP8LCysSStofGwVvittXjw5iW
+a4cgQ4+szZ5SVM8lcrCxEf40OoaByIamb/zkfKug+3nlyBWRpuH7ECzNEbMmMenR
+dCciNrgaUVRG78mVIbMY5nxsH+6MoL2jaeXNpFn7bfWAA7NVZwcuhyE1L8lDwQ3N
+q0Fj7TqmKOo4UZ9wo/rmPvqSVbi9CIB2qHxLu5//7fn+dgQt9fqluVJSo4ZIPkvn
+ZT8asEn+gZpfsMTdMt+3xbkxnS+SCvRzHwtdOG+3yJ7Mra1QFY5DBwKfHeV0rqW3
+3LcCAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQDf73u3eDpiPUZvXdJ1O6REdIJr
+kTsWWD09g9fkXpEIW+RgArgMvE3zcFJf07UBLA7y/kkciZPRb6VGbYKHXNxibGmh
+h+3bJJaVokMOLGb1cSiUpU410rRgZFV/VA0Qmm6+YTO6sa9jV3yyucWHQOhpIk5W
+Ltcyz9EEsGIPnrQ3Mu/vFR6HEfEXmUyDwps8FK1GAXBxzMWHwIy/RcRoavcXdSF+
+eCbZS3JvTBNsKVS5rx+ycE/7WTpttodn+iVjezm3u0UCOQkd8kdqmJdyN7BUDK5Z
+GITdWMj22VE3l2toeXlRW3QYtW9BTHIQmgplHWlxQ/WqH0ri5K/Wwlx8kQTq
+-----END CERTIFICATE REQUEST-----
diff --git a/scripts/biz-certs/Bob-Root.srl b/scripts/biz-certs/Bob-Root.srl
new file mode 100644
index 00000000..47c05e26
--- /dev/null
+++ b/scripts/biz-certs/Bob-Root.srl
@@ -0,0 +1 @@
+931654D3C41D79FA
diff --git a/scripts/biz-certs/Carol-CA.cer b/scripts/biz-certs/Carol-CA.cer
new file mode 100644
index 00000000..4a4e5acb
--- /dev/null
+++ b/scripts/biz-certs/Carol-CA.cer
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDHTCCAgWgAwIBAgIJAP1coEG/CqLCMA0GCSqGSIb3DQEBCwUAMCYxJDAiBgNV
+BAMTG1Rlc3QgQ2VydGlmaWNhdGUgQ2Fyb2wgUm9vdDAeFw0wODA0MjIxODMzNDZa
+Fw0wODA1MjIxODMzNDZaMCQxIjAgBgNVBAMTGVRlc3QgQ2VydGlmaWNhdGUgQ2Fy
+b2wgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8vLVEG2FuAwas
+1Q03hc7BHPGCBEUwP1h+/i+hEh6r0AllAhJJieTmYo3Pfj1whxGSxalM48H6yPe4
+ENIaQpTmi4I6xg+SHjrTWU31xQlGkdXDQU87jYlrk28OoGtXa1uE+6P9F6IXdhSJ
+13qhCSgDNDjrn2tfWCKzPvMcO/fV+WPrbHEBztbxzuTmpeP+3XdfkEQ7WNmUggSl
+Dki4OPT50vZLJXLgtKmbtEKixvrUU9ezlB4hugZOU0ECNw3YOLfMw1Nkcxl3jusT
+ldi+Z4CviGmdr8dlc/+ouQGUN5u/MgkQJimAf0XCrHh5kf9s+EpZ3kDpwBFELzw1
+h0qiwyLNAgMBAAGjUDBOMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFJoijL2BTU8B
+LXzcJFxiZaUmoBYlMB8GA1UdIwQYMBaAFE8lYk6YRDutZ5nlTe3KdSUPSqMtMA0G
+CSqGSIb3DQEBCwUAA4IBAQBpYYqolCdMyrY18TLxBAian28peI6J0db4R8k72UTX
+7P6/9l4ooS+1RfNXVWMMJYvJ6XM5aaP4YjGMLyRWZZ1xq3GmPRS5JtHuP6QBOZQB
+q+P3hLqIPIUoIIhx7g9hzT9ldz+6AU0t7cyqEKPimAe4yt/E+JAE5tdMwWnPnMcY
+X8MbS8692IoLqMdwywr/Twy20JDd/pYOqLHPtUNf/Zv0E05VyOgDqaEKXA1kIfH8
+KpmadJUO520ztXPan1eOUhxCHF2W1zZ5JkHU+y+RzkUGkzKRdFtyFyox8kn4X8FC
+IgstlbIhT4yR2Dk8lqjsAgSZ/UsywH5ZaknmIHgVlnJz
+-----END CERTIFICATE-----
diff --git a/scripts/biz-certs/Carol-CA.cnf b/scripts/biz-certs/Carol-CA.cnf
new file mode 100644
index 00000000..8bea44c8
--- /dev/null
+++ b/scripts/biz-certs/Carol-CA.cnf
@@ -0,0 +1,15 @@
+
+[ req ]
+distinguished_name = req_dn
+x509_extensions = req_x509_ext
+prompt = no
+default_md = sha256
+
+[ req_dn ]
+CN = Test Certificate Carol CA
+
+[ req_x509_ext ]
+basicConstraints = CA:true
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always
+
diff --git a/scripts/biz-certs/Carol-CA.key b/scripts/biz-certs/Carol-CA.key
new file mode 100644
index 00000000..3c80b76d
--- /dev/null
+++ b/scripts/biz-certs/Carol-CA.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAvLy1RBthbgMGrNUNN4XOwRzxggRFMD9Yfv4voRIeq9AJZQIS
+SYnk5mKNz349cIcRksWpTOPB+sj3uBDSGkKU5ouCOsYPkh4601lN9cUJRpHVw0FP
+O42Ja5NvDqBrV2tbhPuj/ReiF3YUidd6oQkoAzQ4659rX1gisz7zHDv31flj62xx
+Ac7W8c7k5qXj/t13X5BEO1jZlIIEpQ5IuDj0+dL2SyVy4LSpm7RCosb61FPXs5Qe
+IboGTlNBAjcN2Di3zMNTZHMZd47rE5XYvmeAr4hpna/HZXP/qLkBlDebvzIJECYp
+gH9Fwqx4eZH/bPhKWd5A6cARRC88NYdKosMizQIDAQABAoIBAQCesQy4d000ctbp
++zlhteBh/zQRXgXOy3RdUtw5UkL3s7Qyectmicss6zDRhhOiye68ufXf8KDpfJDM
+81e1PMZ2Elctk9sDwOc1TaF/RGzIKVbTFdbI+/jPuudmJPwcROhuqCb6ZySjFWWv
+gL5bKJe8GezCMQjW4gRLMmK3GrUH83TKqk5KCAjLGLNPT4Oda+VCur+9OvK3y2CX
+y3pdg4Wej670BWmLYvKGES07mGH9pvZtu2PKhDxp1LInSM2wNPcnxI9J2rYkRK6E
+zQS5oyvi8EuTHdaaC8StkOtfqRdfUo5+oDOBbxVfEQDCYafgU37mWof63NokBRlp
+bogVvHMBAoGBAPkDE0LmuwSa1uagvlvLU1nepNfuvwZW+nmgkFgQXhTgEFYRHyyA
+LhvDqowK94zxXAwyY9NuHnn9e2mqFez3QBXEUZEj6rY1I5T6ib0nS1fv9/6CKsFs
+WP1d4FXyNdr9Ct4F6bh2yK/2nVs+SPiQBJRa4ftl33mbnRxUplo9Si1LAoGBAMII
+nNrobYcG1Op2pzibFiUEfM4oWflcKcVtiqQNQP5FEj9HwXRijIKm9iYILKcrLV6W
+EUnIPBLKqxyj+L4yuWqYqy9OA8d2xe8tlW3rXbHJ1vduSCyp2zzlp37OzvOQAcoH
+8Beu3gYfIf7QYmaX/kUKKnCHRi5may+3z3bE5NlHAoGAUDZsYvWeMsqKBTqsdzdU
+/zMYGLLAeBNWlg1h0exb0g+nU4Iqb5ROxgTOkFQMECvDge5Nd9MWICfGNHBkpbOz
+wg8+UymlttIBR0E5U2QwAgC7+xEFIs97DwrJdAYU0RkIAiMXeaNR3FTttXGn4eHK
+h9uKxge36B13i6O8/n6VwWcCgYEAo/iRTXEz9fKxBX7F69ErkpbLPZDeEBtxdVUP
+33kP3pDSTcW+1zLc2SBtTVCFI7QaQB+Ddp2PHrZEigyLjXfiNxHTQEOmb+6QcIJO
+EDjh0ffnAOwidBQKoNjWhhQQ0cV1rZytqeXt3LB8kxDYxyhVCVUA7l1y0o1csVOd
+MBpN5ssCgYAGbybyKyaKB/evqBqysvG+CBbYsMQx/ubKlwMScfAyr6nG/+ZhjM6F
+0cfM3HwbGS0i0qJdwJ5nPPbYR9kceV+qytU5K2gUQp0QM+Zhc2lprr1r+TikFo5g
+sq2rVbjCT8whW1nZKXjbOA86/2F+qcnXfemsuM51VuOrfnXTjTGDpg==
+-----END RSA PRIVATE KEY-----
diff --git a/scripts/biz-certs/Carol-CA.req b/scripts/biz-certs/Carol-CA.req
new file mode 100644
index 00000000..8760f182
--- /dev/null
+++ b/scripts/biz-certs/Carol-CA.req
@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIICaTCCAVECAQAwJDEiMCAGA1UEAxMZVGVzdCBDZXJ0aWZpY2F0ZSBDYXJvbCBD
+QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALy8tUQbYW4DBqzVDTeF
+zsEc8YIERTA/WH7+L6ESHqvQCWUCEkmJ5OZijc9+PXCHEZLFqUzjwfrI97gQ0hpC
+lOaLgjrGD5IeOtNZTfXFCUaR1cNBTzuNiWuTbw6ga1drW4T7o/0Xohd2FInXeqEJ
+KAM0OOufa19YIrM+8xw799X5Y+tscQHO1vHO5Oal4/7dd1+QRDtY2ZSCBKUOSLg4
+9PnS9kslcuC0qZu0QqLG+tRT17OUHiG6Bk5TQQI3Ddg4t8zDU2RzGXeO6xOV2L5n
+gK+IaZ2vx2Vz/6i5AZQ3m78yCRAmKYB/RcKseHmR/2z4SlneQOnAEUQvPDWHSqLD
+Is0CAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQBB0+tkHEBlG/YeZosPXknmVMbm
+ThzV2TFQ32NR0yiqytZLK69sbVHHeS14YuAHn2ZP+Yr0MMPeOTmK0OsLwpUXMOI7
+35fXsEL4kCF+yuElCyMn3KNZ641kCwsngvdfeosddRSMg1IxtmbfNSmfSe3WEpV+
+CfBwonU8NsRI/crDoi88tXj9E631XsYbq43C/CrW5CVCCE8p9an6HSjH4y5hlYOD
+bfHnQJSE2dGIlZBthGwIcqpdgt5UvT6VGGGdKxLNaaMfHCEGgAu7dA4pm6QQ9rLE
+TYLNqybYl1v1sjxjZ5xoPRM/aKqe13uzWn8E1HJZWQZ4KEutHLMw02GKxDe8
+-----END CERTIFICATE REQUEST-----
diff --git a/scripts/biz-certs/Carol-CA.srl b/scripts/biz-certs/Carol-CA.srl
new file mode 100644
index 00000000..8db881dc
--- /dev/null
+++ b/scripts/biz-certs/Carol-CA.srl
@@ -0,0 +1 @@
+FB70BD504214F1EA
diff --git a/scripts/biz-certs/Carol-EE.cer b/scripts/biz-certs/Carol-EE.cer
new file mode 100644
index 00000000..5373757b
--- /dev/null
+++ b/scripts/biz-certs/Carol-EE.cer
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDGDCCAgCgAwIBAgIJAPtwvVBCFPHqMA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV
+BAMTGVRlc3QgQ2VydGlmaWNhdGUgQ2Fyb2wgQ0EwHhcNMDgwNDIyMTgzMzQ2WhcN
+MDgwNTIyMTgzMzQ2WjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIENhcm9s
+IEVFMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwWzpaQT9wW8xme1w
+QD9hPghfFQoQBLWu5qFWyZu9aPTiSs/qiQMNQARlUst6eBhnCz3TedQnXAdfJA2+
+Nahl2Vqj6Eqzn9HFA5h79+ScZsgHSl0l8qeyKbvlkS5F1l9UdgNdGv6BsATHUVri
+DUlhGRr8dBydYukm11spxeJj8+3KlY0if/lQJdSPL9n4auQb5RuWqckBbHb1BUrH
+XygOZkh+cq2twqKlSkS0/55ME16OqmvSz1fNKi3pDikbVZUml6ye3RN2TIhCQta3
+pOe0vMajqBYKkph8D/ZW9t6BsCQyOD1z7xVnwHmh/7T0d3HObJvZcMC6tcHauaTj
+39m1VwIDAQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBRA/hhf5DbmnlikPnO6
+L9K8BJXDjzAfBgNVHSMEGDAWgBSaIoy9gU1PAS183CRcYmWlJqAWJTANBgkqhkiG
+9w0BAQsFAAOCAQEAdzFrIfAGps7SIMhw9vEH4dEAwJRGwID9mdsAp+SkbafSl3lw
+Aa+g5wvAxyaxdlj2oGgm0tKvi6uQsB71t0Yqev0PkVSQ+fzTgL3fgrOTKY8hs/hV
+til+YVwKazQSyQzvc2/JUPG7UiF7iFhDtICCDf9ZyLWLQHTsoh7KWJ9LSBf5DNQO
+sEs1+me1PmtzsZqFyDXjNyTMn40woQHXTwkHxk3DP5pF+vSV7U62LfO3+lTblEPv
+O52mghhcKGB3BTV649V2EOh798ejp3l3iHch5uflpB2aaYAUuraeBB2dXCxPNO5l
+ICtbKvo9cbVRhMbyzNNEhiq13XsPdhJUTsybNw==
+-----END CERTIFICATE-----
diff --git a/scripts/biz-certs/Carol-EE.cnf b/scripts/biz-certs/Carol-EE.cnf
new file mode 100644
index 00000000..532ba746
--- /dev/null
+++ b/scripts/biz-certs/Carol-EE.cnf
@@ -0,0 +1,15 @@
+
+[ req ]
+distinguished_name = req_dn
+x509_extensions = req_x509_ext
+prompt = no
+default_md = sha256
+
+[ req_dn ]
+CN = Test Certificate Carol EE
+
+[ req_x509_ext ]
+basicConstraints = CA:false
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always
+
diff --git a/scripts/biz-certs/Carol-EE.key b/scripts/biz-certs/Carol-EE.key
new file mode 100644
index 00000000..2d785124
--- /dev/null
+++ b/scripts/biz-certs/Carol-EE.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAwWzpaQT9wW8xme1wQD9hPghfFQoQBLWu5qFWyZu9aPTiSs/q
+iQMNQARlUst6eBhnCz3TedQnXAdfJA2+Nahl2Vqj6Eqzn9HFA5h79+ScZsgHSl0l
+8qeyKbvlkS5F1l9UdgNdGv6BsATHUVriDUlhGRr8dBydYukm11spxeJj8+3KlY0i
+f/lQJdSPL9n4auQb5RuWqckBbHb1BUrHXygOZkh+cq2twqKlSkS0/55ME16OqmvS
+z1fNKi3pDikbVZUml6ye3RN2TIhCQta3pOe0vMajqBYKkph8D/ZW9t6BsCQyOD1z
+7xVnwHmh/7T0d3HObJvZcMC6tcHauaTj39m1VwIDAQABAoIBADicVLAc+tvbXGwN
+tzXGlwJd1t5EhK2sMxVjERCOmWAXlAeLVLxm/UDISJNz5FMz6Sy8GqHkeuSPb8QQ
+laQEtlJoGeLJwkq7TWsg/N9vtGrMjn2wR4P+msFmMelM3rnASusDTwOwi2pl66Qe
+8lwrJtT/NfYRzep+DJUpJE+7U7+3TJ5rlfxd3Wm/gdsRoTXPvAW8w4vrJD4/YSpd
+3mJZ7VAnLwRnNY1wVqDYEHqhH5jf1nFVE9RKPMDYHbCtIBoap350qgACBTuVs94q
+TsKNWFJE35S/wbwNKMsjbaMkGngl1oZ/XMxFhLGJvZFcG05Z9I73WRtvcdOHVi8a
+pyZlHrECgYEA/Y1X0c7iwf0zrRjyJwuv8mdfyKAr1h1T47rY+HDp+e/2J4LfOBC8
+KnzNVkoErA7iHIN/59tG3M3Kv9TUmcUJ9tk8Ft42B/XdrVRXKtFBwmq4maxu/dTK
+BK4LQ1Gi2AhRG4xvitDdCgj5wVyVkXYwh4BFcqT4JWoGujNcBBw2cx8CgYEAw0r3
+BX97I0V8F4+2QihZp5wSuiD2EX3hsM/iAK8An6OL4zpNyU1m/h3lipVjCOGegIYk
+Ze/VnOrPXh56tPWG4YSzSNgXzjmxHZNFtQqwHkoH7aPXVMMNmPjFcUb04Lu/MXdr
+sIHEjwE7vfK9M2DaT0d4DBUdizTJPPk2wmoebskCgYEAn38sQTUNe85VlYvduCYn
+9iqFHGV1belg/h5pok8VQD5s8AnpdRFB7NA5MxC4w6tRHXKzIRzVBM0Hv4iYfGpw
+jDG3FQOPpY5KdmBZvPuJjE0p9rF72Hzk3/DD8QMHlzIUI2pCOGaOxWNECRi+lZRt
+jq9oAGg6GP8LYFIyjftZXS0CgYAWOt5LfetiZHJvrCgu97Dc52MqVL4t14ptOfyb
+30/O3Cr8PpLEK09h9b0/PSn8xNHqB1r1T4udRQ09xXJqTth/qz9NN2veSarjlvQE
+W6cYi4zDfDbyqxFNLGQtNMqDGlv1IYbcnKjnLljCknL++jNfet8rYOvwAJ43lpap
+IrM8IQKBgQCP3yhZHw1dzIBTUTE4NLGIxN/7Sz9O2IUoAR8V5szEHvxhWTEIyqgA
+t9tHpXJRdtpdXmdHa+vuszougEQKz3tsz7KWOUu3kdmpCm7OQqD6fANB+/2y/Euh
+OlBHsWOgxCHdiFQCj+kD/sBDYXH+nl2tk/chOcuf2m9DHypO0OdL+Q==
+-----END RSA PRIVATE KEY-----
diff --git a/scripts/biz-certs/Carol-EE.req b/scripts/biz-certs/Carol-EE.req
new file mode 100644
index 00000000..007f0325
--- /dev/null
+++ b/scripts/biz-certs/Carol-EE.req
@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIICaTCCAVECAQAwJDEiMCAGA1UEAxMZVGVzdCBDZXJ0aWZpY2F0ZSBDYXJvbCBF
+RTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMFs6WkE/cFvMZntcEA/
+YT4IXxUKEAS1ruahVsmbvWj04krP6okDDUAEZVLLengYZws903nUJ1wHXyQNvjWo
+Zdlao+hKs5/RxQOYe/fknGbIB0pdJfKnsim75ZEuRdZfVHYDXRr+gbAEx1Fa4g1J
+YRka/HQcnWLpJtdbKcXiY/PtypWNIn/5UCXUjy/Z+GrkG+UblqnJAWx29QVKx18o
+DmZIfnKtrcKipUpEtP+eTBNejqpr0s9XzSot6Q4pG1WVJpesnt0TdkyIQkLWt6Tn
+tLzGo6gWCpKYfA/2VvbegbAkMjg9c+8VZ8B5of+09Hdxzmyb2XDAurXB2rmk49/Z
+tVcCAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQDAFEgnnFQ7ed2rcYSnkJFfZKA+
+NACknjcO1GUMMOL7iXl9eRMfj7PAmfUZQZwYXimrzFlyA5EWSk3vXOHZeg5q6Edx
+UZlPvBWg955kfL1knDuJ97y2ZX43oZ97i9nD56U7oP2w/AMdkgOWkyjLuwze4T1x
+2aOWKupsjU7UwpaFjBLfOo6A2qmp9UvZauBL3MOT7wP590lHRsVmZmKUwUvuN0mj
+dmH8TUN/5rFe7pybo4UhEYxG/BMC2+IUGcNtyIpj/pwldHVDFW0mwHzenUZ5XyeX
+WmkRzRpkVHlWuqR2gqTQl5f/8kUMMRLWzKdusC53rLAXFbAaJAJzYPBVCxCj
+-----END CERTIFICATE REQUEST-----
diff --git a/scripts/biz-certs/Carol-Root.cer b/scripts/biz-certs/Carol-Root.cer
new file mode 100644
index 00000000..c4dfa744
--- /dev/null
+++ b/scripts/biz-certs/Carol-Root.cer
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDHzCCAgegAwIBAgIJAJ5XBN/XcY/QMA0GCSqGSIb3DQEBCwUAMCYxJDAiBgNV
+BAMTG1Rlc3QgQ2VydGlmaWNhdGUgQ2Fyb2wgUm9vdDAeFw0wODA0MjIxODMzNDZa
+Fw0wODA2MjExODMzNDZaMCYxJDAiBgNVBAMTG1Rlc3QgQ2VydGlmaWNhdGUgQ2Fy
+b2wgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALkgdmWcufSC
+w/WjWc5NvUEerHF3gtP4LB9OHsHe4lHUKIl7llZes9JDFWdweZaGgabsFsB9Lhxh
+YjqCbeLnbBgf8gdPHQdmwtQBeZpzJNfNcoc/ucvUmvc2thZFBxj8SOtQUOZH3Tqn
+o88A1zOHftU/WFrgF/lFv97v3ahLNc0UfgPr1iEQonqC1ff1oAg3iOB7T5rujW1r
+8cd8t3oDKjjbXxZqt5n5qhoHRsQu+EcoiJhbERkXHQdJl1URcJQCZoo1rRMtqp9F
+mbinqag/Fiv8c3r9GgLahsmCtz4UkirVqu0o+9/HMUoghWJukOUTYOi7d/S6IqYP
+v8/PBwcgW1kCAwEAAaNQME4wDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUTyViTphE
+O61nmeVN7cp1JQ9Koy0wHwYDVR0jBBgwFoAUTyViTphEO61nmeVN7cp1JQ9Koy0w
+DQYJKoZIhvcNAQELBQADggEBAC3kIhKXuneGgUQ9AbkLAK62eZXdYFD2Jz9JnnFI
+ChuIEk9iVHuxA8VDYyt4qS1UJ0fYEBhbKnAPNXF5hv7wThEkzzFrfkq2INWJY89c
+VJlLS6zaU3TskcVXhn/gbjxPixq2h08oFWnGk3RbNKQQBMoEImBbJbZuzNCcYbqv
+o5wVMlNLroOijcQsNBZ/SnhbJ+3CwMi8FOkf53nSI1Odu15d3fNX7uaS7RQNGsma
+Z/Fe2R5IqQodp57XFQLtYcyiyPJUmaGm4pPeaO1OCLuolSbqDl+3cKGeSQDJBnUH
+4JyTslBizHmsmkcqzWYQYy3zzdwo9xRdBexS8nIhUm3KTnA=
+-----END CERTIFICATE-----
diff --git a/scripts/biz-certs/Carol-Root.cnf b/scripts/biz-certs/Carol-Root.cnf
new file mode 100644
index 00000000..169a8503
--- /dev/null
+++ b/scripts/biz-certs/Carol-Root.cnf
@@ -0,0 +1,15 @@
+
+[ req ]
+distinguished_name = req_dn
+x509_extensions = req_x509_ext
+prompt = no
+default_md = sha256
+
+[ req_dn ]
+CN = Test Certificate Carol Root
+
+[ req_x509_ext ]
+basicConstraints = CA:true
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always
+
diff --git a/scripts/biz-certs/Carol-Root.key b/scripts/biz-certs/Carol-Root.key
new file mode 100644
index 00000000..0e41137a
--- /dev/null
+++ b/scripts/biz-certs/Carol-Root.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEowIBAAKCAQEAuSB2ZZy59ILD9aNZzk29QR6scXeC0/gsH04ewd7iUdQoiXuW
+Vl6z0kMVZ3B5loaBpuwWwH0uHGFiOoJt4udsGB/yB08dB2bC1AF5mnMk181yhz+5
+y9Sa9za2FkUHGPxI61BQ5kfdOqejzwDXM4d+1T9YWuAX+UW/3u/dqEs1zRR+A+vW
+IRCieoLV9/WgCDeI4HtPmu6NbWvxx3y3egMqONtfFmq3mfmqGgdGxC74RyiImFsR
+GRcdB0mXVRFwlAJmijWtEy2qn0WZuKepqD8WK/xzev0aAtqGyYK3PhSSKtWq7Sj7
+38cxSiCFYm6Q5RNg6Lt39Loipg+/z88HByBbWQIDAQABAoIBAQCi2n/M25ZqFi60
+g8KYzaJTCty/5FZeic6mq147Rgrp2Szf5KxXxm+B5CmMGVGcrS6Y3M8W/gf2R2TV
++68XEGXywwdyjpIG1MtHHRUQXYJnpP+/IrwbJyg7mRGNfaPEwwqSltDUAxwGYTqk
++yRU3Dki9tqO9tugGU+0mmXviloF0SOq5fu3qmZoh2ZpoP5n4mqu1JOgDqXB/dw0
+REvbyn+ly5csMDhoZq8uBnmQBeyGI/dsydbFZd6pmf9izntA3Kwn/vsATIpMDDps
+ECLcki+0iD/ZcD64rGm14yGktbtyTG+Ec4JDnWB+HLukHNEvnTD1NJLjEma6jnKM
+xr1LXjpRAoGBAPOPUZ9lVsw+DFd8VD72Rmi/h+jLPBhCgzLfXxIq64cYXFRxML4x
+AVwLGc80bEsZkjMGJ3Sl2241uc2XIVu9V7B6FmDhMayIgMiomlDolyhoIPg7C/KO
+ee9k+/6hzclVfdMFT8ced4kFWzTKONNdsQI8SyaKJRtZJycBS6DXkQKjAoGBAMKV
+GVvG6AswTklDoVfvyEwwp8v2LTyO37sUF3bO7k7htj2j7rudOqEOR+TWplyg10y9
+ezp60IapYbWvdCYI6kaj/hr7DJ+uwzmSTi6LKlWSBKI6s64Vo9gx7+P3su9gT8D0
+G79M9KC9a7wMothPx4nFTGK3xNpXWOZE47rLGgXTAoGAbjs2KNr3nraSZWH6ywgx
+M6VDwKOCzkQEFxkrcRCFyn3HA9y6v8l0IRFRHAtQ2+h116v4XX3XQxkDv72ftmKK
+dm+7AxvInJqnFqngNbAfAYWnLlGjBaNgIm3k8wiOF4oeyUvFIIx0c0o+TjUb5OWp
+gCaDqKyrQKZn5upaLTCDC9sCgYApyhG/JzHQrVgy3eZ511KCInT3FfDTL7AXIpKD
+fp+pq0oTZPCxtGvSCRohqIPkItr6bTtY7OV59ki412yvenyuHSxGqSIl7UeaRrSp
+xFOcOxbprIfIXHdqyBbIM/tm851NSF/pLuLe3q+TnHcg08l76jakgOkzJ009bxAl
+ntcA5wKBgDORScP6A77UE9E+vIWkUyn23lNkow29BWpM8jBm0mBX6m+WgzW9soe8
+37GtvWlF82kLytFXIxju7ULLpF5652jDEa/mgFrZH/gE520tz0yiJ/PDtSRtxuGL
+O8ZEyyiwKVcET56Rklj7r/0kn3dKJQkfxG49krv8hRckSH3Y8Eb6
+-----END RSA PRIVATE KEY-----
diff --git a/scripts/biz-certs/Carol-Root.req b/scripts/biz-certs/Carol-Root.req
new file mode 100644
index 00000000..7a28e895
--- /dev/null
+++ b/scripts/biz-certs/Carol-Root.req
@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIICazCCAVMCAQAwJjEkMCIGA1UEAxMbVGVzdCBDZXJ0aWZpY2F0ZSBDYXJvbCBS
+b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuSB2ZZy59ILD9aNZ
+zk29QR6scXeC0/gsH04ewd7iUdQoiXuWVl6z0kMVZ3B5loaBpuwWwH0uHGFiOoJt
+4udsGB/yB08dB2bC1AF5mnMk181yhz+5y9Sa9za2FkUHGPxI61BQ5kfdOqejzwDX
+M4d+1T9YWuAX+UW/3u/dqEs1zRR+A+vWIRCieoLV9/WgCDeI4HtPmu6NbWvxx3y3
+egMqONtfFmq3mfmqGgdGxC74RyiImFsRGRcdB0mXVRFwlAJmijWtEy2qn0WZuKep
+qD8WK/xzev0aAtqGyYK3PhSSKtWq7Sj738cxSiCFYm6Q5RNg6Lt39Loipg+/z88H
+ByBbWQIDAQABoAAwDQYJKoZIhvcNAQELBQADggEBACwCBZJhrfcvjCqNho3sSYnl
+7tN+d68qtOj7NHU8w3BJmqZFWmnX7HT3Ka9yYAdX1WrMpxeo59ME1U1eg465zru+
+VnFQHFehINx5hjFCt1qfmvZd3fRv5OqNNui1vDZmiRX80zWorZFKWTKZTlJhXKHr
+YQ6a25PgvFa74QXavQFTpwq6mH1t7CurXrUs52nOnm0VUxnMT4alqnNPTetFRlnx
+E2NPsTuYy6YDaMH+JML6zVnaCNVu6cY2QAAcyyzORCcda/HkgTJ5hBpNvrR+3sqY
+sKJQHzUO0PHTqHVJu5FGJr2kflfMBmuB5SN/eK95nhSkyPz0o8x3ERWvzWfx6yo=
+-----END CERTIFICATE REQUEST-----
diff --git a/scripts/biz-certs/Carol-Root.srl b/scripts/biz-certs/Carol-Root.srl
new file mode 100644
index 00000000..c75ed246
--- /dev/null
+++ b/scripts/biz-certs/Carol-Root.srl
@@ -0,0 +1 @@
+FD5CA041BF0AA2C2
diff --git a/scripts/biz-certs/Dave-CA.cer b/scripts/biz-certs/Dave-CA.cer
new file mode 100644
index 00000000..52c649f4
--- /dev/null
+++ b/scripts/biz-certs/Dave-CA.cer
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDGzCCAgOgAwIBAgIJAJWglEInirfcMA0GCSqGSIb3DQEBCwUAMCUxIzAhBgNV
+BAMTGlRlc3QgQ2VydGlmaWNhdGUgRGF2ZSBSb290MB4XDTA4MDQyMjE4MzM0NloX
+DTA4MDUyMjE4MzM0NlowIzEhMB8GA1UEAxMYVGVzdCBDZXJ0aWZpY2F0ZSBEYXZl
+IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuDg+csO4ExCO887N
+7aI5vpKa5bo+wPEi+6Jrvb+FVC27eI+UAA8hOHilAeYI/P+xK35Bjmg24H/OWPzz
+erkSvSPp2XB69GR4ffT4ZxMoQ/FNgp1iiYr2QE1EWphrhXnO9FwEZ7s/ry7ISUvs
+KuDnun7ymoLtRFTIO+F5B64yTrNYg/6YQ6rSKN/SpfWYwOLB9fRylAmYBPguP/3W
+gE4KJhrQ11JNsIH2AZ3hL+C6NQmbkNQjaNOxjbZT/Whbg87kemtQgo4/t+cTaALP
+qknVRrMrkCCVL0I3DRmYV70IEyzjEfHaB1LXt9RJX6uYjD9YmNjY7Hp0liX9czRn
++IsauwIDAQABo1AwTjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBRvYR0qliEj7ExH
+JxCipJca7R0GWTAfBgNVHSMEGDAWgBS0fUwRgGNdBaom9pc0oe6+LSgY7jANBgkq
+hkiG9w0BAQsFAAOCAQEAPZ46m0OgA24ZjU8F1vUWdK609EMOA3njoDpRj8B3RZid
+e9NU+2BO59cN23vCkVPpvb6UER4JFRC8isgy1yaia2/gv9hB6YZ7R6D87yLyo2ol
+JjCv8HTExCK/OjAHNjTlm9dGy2pS/KntgywkShfXZUR0yAjwhn3pGWN29gYfyJFC
+RnovB1vr0jmStXCOwbpyyus1IOM/JjeYpRkH1BovA8PVbQnThq1VEM7P8QU10rfr
+1AiyX8OHCnSwPyUP5o5IwTt5U7oL58qC9nbdeSxbq8vNZ0ZXJc2TF2vz4Gopw3j+
+w/6b8zXrObrd8KA1mjxv8MhXF3wvTIC7ACMiyT1zAQ==
+-----END CERTIFICATE-----
diff --git a/scripts/biz-certs/Dave-CA.cnf b/scripts/biz-certs/Dave-CA.cnf
new file mode 100644
index 00000000..47725a24
--- /dev/null
+++ b/scripts/biz-certs/Dave-CA.cnf
@@ -0,0 +1,15 @@
+
+[ req ]
+distinguished_name = req_dn
+x509_extensions = req_x509_ext
+prompt = no
+default_md = sha256
+
+[ req_dn ]
+CN = Test Certificate Dave CA
+
+[ req_x509_ext ]
+basicConstraints = CA:true
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always
+
diff --git a/scripts/biz-certs/Dave-CA.key b/scripts/biz-certs/Dave-CA.key
new file mode 100644
index 00000000..d8264c2c
--- /dev/null
+++ b/scripts/biz-certs/Dave-CA.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpQIBAAKCAQEAuDg+csO4ExCO887N7aI5vpKa5bo+wPEi+6Jrvb+FVC27eI+U
+AA8hOHilAeYI/P+xK35Bjmg24H/OWPzzerkSvSPp2XB69GR4ffT4ZxMoQ/FNgp1i
+iYr2QE1EWphrhXnO9FwEZ7s/ry7ISUvsKuDnun7ymoLtRFTIO+F5B64yTrNYg/6Y
+Q6rSKN/SpfWYwOLB9fRylAmYBPguP/3WgE4KJhrQ11JNsIH2AZ3hL+C6NQmbkNQj
+aNOxjbZT/Whbg87kemtQgo4/t+cTaALPqknVRrMrkCCVL0I3DRmYV70IEyzjEfHa
+B1LXt9RJX6uYjD9YmNjY7Hp0liX9czRn+IsauwIDAQABAoIBAQCOlCFpK6f1QXSS
+qLXjPRKaN9ehA9P7+uYLgfsHggrMSxT0y5NNtGgOz/lODd9ZCQDz26Ubdfc7LE/l
+ueksS7+AGiKtAwx2yKglPIthI4efhkxqUitort/Ghsbno15ckRknMWzLaDZy/K9R
+Y2ynByjyw7w68Ch5IXFUPz8wPZd8JqwAasLHjEdxizjUrjd5ikxNDKZetz/u4cm5
+xRhISJttS1hbWwTrvjTfiAv7LVCQtRYDzYjnhUtvBnW9ksZt9rl9Am2dCEb3ocql
+Dasanlc7HtPt21HGYR1kljSNzF4N7kjGpf9p4k8EB6bfBvL14rF1e27uYhHA+7cC
+jnr2Yj1BAoGBAOdS+RaocPRdOotE2SNjbIMl8kwd0DlFBklW85fknVhRGl8tRxl1
+1vMyJG1smYG7l/y5ZvDJVWmGU5W3237ACujNwe8gxa/3KhJ4maWd4uW/0ttweAmK
+EkG1H7axbruELPQum33+oWzciH2Q/BBOuszKnayZUmapfW1947a9XCSbAoGBAMve
+8B79tpqBJKie6q8YGMfIJ83PHoL7TzIEEAsXYMqsiS9G+VIvNzbOYS78Zh1d4kGX
+5FL0NijghOcU62sTrJuqlStCrJX90EGzCB6OEBZYoUz51bKve9tK3bAmADuEsnKe
+4sCNDr4LgcOwNnGzflyddRC/s+WDP8LQ0qFZUXRhAoGBALJ2uAc8ApD0UBNcFW2Q
+6gmwP+NraNaWIwh31czMqnuVbpQZOW4yFJhhiesFytRk5xgp7Xo8yfF0mY27X9LE
+1GXRQBp9nSZpuIKxmlBEo+V+fW2gsmsho34f/4ySDQ0MJyZnwryMsvtqlL7TGTR3
+mPQgKU8cpo7fmg3b/s9f/fObAoGALNa1nTtUBBtPQr7hAu2b1aTSDFP3c/tt6aQ3
+GxljMnBMI9fKUicMT8OIYFsm4mKZtq9/ijcoCkmHMYPKW1ySZBJaiI87gim2uhx0
+NrQsGZ4Yq+Nu+sPZy9tlcq6I8o426TrEyHC9w1Koka+Z6dv+eMQw0SQ4nswFJAXl
+rZMFdUECgYEAoR3oItFi2tWqbo/lSov6KQIBsCq1L5DfVj1GQp/hiMsIvNtNoy2G
+IbXfpHk0Kljwdf7GvU5pbFYcrCHJ2vIkKocE/6JArIQd4bExhM4oxI2vVbkBD1fq
+aWf63IIiq2gZfVFxCV3hK/ub3M02AqouqWDl/UKu2S6We5BaaWOuz4k=
+-----END RSA PRIVATE KEY-----
diff --git a/scripts/biz-certs/Dave-CA.req b/scripts/biz-certs/Dave-CA.req
new file mode 100644
index 00000000..40979783
--- /dev/null
+++ b/scripts/biz-certs/Dave-CA.req
@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIICaDCCAVACAQAwIzEhMB8GA1UEAxMYVGVzdCBDZXJ0aWZpY2F0ZSBEYXZlIENB
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuDg+csO4ExCO887N7aI5
+vpKa5bo+wPEi+6Jrvb+FVC27eI+UAA8hOHilAeYI/P+xK35Bjmg24H/OWPzzerkS
+vSPp2XB69GR4ffT4ZxMoQ/FNgp1iiYr2QE1EWphrhXnO9FwEZ7s/ry7ISUvsKuDn
+un7ymoLtRFTIO+F5B64yTrNYg/6YQ6rSKN/SpfWYwOLB9fRylAmYBPguP/3WgE4K
+JhrQ11JNsIH2AZ3hL+C6NQmbkNQjaNOxjbZT/Whbg87kemtQgo4/t+cTaALPqknV
+RrMrkCCVL0I3DRmYV70IEyzjEfHaB1LXt9RJX6uYjD9YmNjY7Hp0liX9czRn+Isa
+uwIDAQABoAAwDQYJKoZIhvcNAQELBQADggEBAD3OlqKrMaOTQgt/SKUiBWbP2uYe
+uoL7PhM56jwJS1vygArPOjYqZlPi1Lbr9I/34zHUIGxmBFfDhB0lD4jHEpa394iB
+Pz7GPk3U8D+i11974tulOana0g8lqQsGeFt8oPCJydM6Jjj5noQm9z4boYOATYdE
+UmVEqMSNloiyh02ADXlLGHyexoft3uVruVHkty4oU9tptpnXUKbsUtw+Gwk+S0Cw
+ziXlIdGIUQoGXo41daNA6K3upBzMF3d4XIrEyhN5jlvZrdk8DGjzu7Dxwnk+/vE5
+8FJewZbMQi7IvBjH6Ri5Cenm4tczsPLbSjVDVGPxm3Chq658KpAcxn7AlV4=
+-----END CERTIFICATE REQUEST-----
diff --git a/scripts/biz-certs/Dave-CA.srl b/scripts/biz-certs/Dave-CA.srl
new file mode 100644
index 00000000..2fa6581e
--- /dev/null
+++ b/scripts/biz-certs/Dave-CA.srl
@@ -0,0 +1 @@
+BE6923005A133A97
diff --git a/scripts/biz-certs/Dave-EE.cer b/scripts/biz-certs/Dave-EE.cer
new file mode 100644
index 00000000..f7352ada
--- /dev/null
+++ b/scripts/biz-certs/Dave-EE.cer
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDFjCCAf6gAwIBAgIJAL5pIwBaEzqXMA0GCSqGSIb3DQEBCwUAMCMxITAfBgNV
+BAMTGFRlc3QgQ2VydGlmaWNhdGUgRGF2ZSBDQTAeFw0wODA0MjIxODMzNDZaFw0w
+ODA1MjIxODMzNDZaMCMxITAfBgNVBAMTGFRlc3QgQ2VydGlmaWNhdGUgRGF2ZSBF
+RTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKUtdgOQpUQqXYOEukxx
+nQ4KfvoGFaFP+kJb0vpaxX4HlIwUiD8NjTePpAxS1cixiPmHn9pcz0zmopUsonZ9
+OD6FGYyDTQm+LNF4qPN8xUhKlHLE1A+V+Ajtb2lCbZAGnPh5Z4vmQnoNHvP2TVz4
+jly78lK+tuemn98sSYfzxxA6v8fmivs1k4u/M+vhquwfvQ7xhfyofFIytXFFHaBa
+0vHY1GE9wAufQ6uEK3sMNLBF6iZuruW6VVuX2NbeHqOgcAF4Hc8cKRmVZxTkkIUi
+TADyVQLKpDHsMI+6PTLlmKe4fcUny/qQKAFe7g2v8zFUb49ohqfW1UyU6+/kx1Rm
+6C8CAwEAAaNNMEswCQYDVR0TBAIwADAdBgNVHQ4EFgQUgm42L3S3iA3yv/JkQYwF
+ZKe3zhYwHwYDVR0jBBgwFoAUb2EdKpYhI+xMRycQoqSXGu0dBlkwDQYJKoZIhvcN
+AQELBQADggEBAHLPjmtZYfQTaWc2HufQNwItoWUzLEXsFuSSyKVH4Qu6CESu4v2p
+wt+NIrI0eGK2p+Q296/6iK1R0YbwiTRbPzLMrWAuUO+uzCwexb7pCHtQhTsTBEpz
+GVZxQCaOqQ6tAh3uuQOzzaoll7omPdSarJsw+v4B/PgmXF+JXvGZJwKryEgr5yH4
+n0pFFvfzVoxvPHW+7Fp0s83rJjg/UiLC2HWhn7MTH9UGT+AmXEO1ORWYIE05QLiD
+OL6u5wzatOHgMzG7GeLh3nVokjr/csiSuYVb988m1SVZ0L/aFlfiA/yj5CyyZQ60
+xdXEJeJSAjn+y2q4HA6mfCdpR9iGyfSjLf0=
+-----END CERTIFICATE-----
diff --git a/scripts/biz-certs/Dave-EE.cnf b/scripts/biz-certs/Dave-EE.cnf
new file mode 100644
index 00000000..073a1585
--- /dev/null
+++ b/scripts/biz-certs/Dave-EE.cnf
@@ -0,0 +1,15 @@
+
+[ req ]
+distinguished_name = req_dn
+x509_extensions = req_x509_ext
+prompt = no
+default_md = sha256
+
+[ req_dn ]
+CN = Test Certificate Dave EE
+
+[ req_x509_ext ]
+basicConstraints = CA:false
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always
+
diff --git a/scripts/biz-certs/Dave-EE.key b/scripts/biz-certs/Dave-EE.key
new file mode 100644
index 00000000..283db731
--- /dev/null
+++ b/scripts/biz-certs/Dave-EE.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEApS12A5ClRCpdg4S6THGdDgp++gYVoU/6QlvS+lrFfgeUjBSI
+Pw2NN4+kDFLVyLGI+Yef2lzPTOailSyidn04PoUZjINNCb4s0Xio83zFSEqUcsTU
+D5X4CO1vaUJtkAac+Hlni+ZCeg0e8/ZNXPiOXLvyUr6256af3yxJh/PHEDq/x+aK
++zWTi78z6+Gq7B+9DvGF/Kh8UjK1cUUdoFrS8djUYT3AC59Dq4Qreww0sEXqJm6u
+5bpVW5fY1t4eo6BwAXgdzxwpGZVnFOSQhSJMAPJVAsqkMewwj7o9MuWYp7h9xSfL
++pAoAV7uDa/zMVRvj2iGp9bVTJTr7+THVGboLwIDAQABAoIBAHvtOce+9F/KMVMF
+eAj2jNEGCvJnMj9PFAJJhmcTR20hHtBibz5vWm4/NOOSGpdyq8Qbf1GDpHyb5Ytq
+a5HerR4rGloUAO64YkPe9VOJXzK30dyx1DDFYczA53/fuPgAHjFGVOvfnCyaP4jm
+WHDSg20MDekK8Yuntfbo8VoxCj8fwDyPq2vSXnzwGcvT7X8cmpHnKEU/JQj4bNrJ
+XMMK3kQrKf0sFlO9kieEPsG//V9j5yverKvZdi8PQSCwA1e0nqrOWRSFYz5ePzob
+Njo1LJz/WaQ2YjEf07fRuiNgCp5r+/44c5xBvq07Fi1yhc6K8DBY8w/cH8foc8kw
+aO34HWECgYEA0Qht10TPKBAil/FXjYFcqQgCQxZl3rtt5ijVZtuYISMYaGj/Q8iO
+efXZKa1JgXtpVomkkjY2Wbdd5TwkXd27TqUIZ5uPYDs/I6uGZRXPIV14g6U1aBBV
+502LNbAqDWozYBwZRmDOopdU+hS1/Jc6DNoNvVKj//+lx4NbxmUmS7cCgYEAykp5
+IQd/GMGf7VsBcHbseJIqknDuZRvpDB5zXFyyRu9jdHmqQCjuCnDQ7eJNHLvLjyAt
+/+7YiQDyAhlxr305U6Mnum9T49l3Zi2jLy+/QhO3WBQ0FLNF76sN8ADM0aD4Uk6D
+wCtSEUj1XrDtHiJPShtHtpM2Gs5gB5UM8b2BN0kCgYEAtbouREh+EMZ2TMJ064Db
+ndhonwqJ5ens0XwOiy2+RJDOV3dw9O0XcNBby+/rR7aTDbj8amDXP4g7CWAP/csX
+XHf9ppWHQJJBgjFM1fTv7oHklA69L4uEI2M286YD6UW7BINpNdZTzubh6ci3rrGK
+tkGcUEvYaGdJKPr6frDRamECgYAjgk8g7R/ySIq6L29hPn7j60Rt0EUImo2eAvpd
+DCh/KyZaG8E24fhm/Mav+zluAckJpqxscJCx++h/VdgO5fxaIhmnMEOZi2LaHMi4
+T7lS8AMPAvzhZVaxa2VW680IPylXyVB3OyN8xUHNDWGSGJOyfndoJQ8qRW+15QQQ
+qyMzgQKBgQDEY1WxbCTM8A0aRn3SxoFuPDSqJtLdi8dbMxEHUrP9qUfg98ChF4fA
+jxZu35LeNB/E5gfP37VJZJPTQ8i8kPACiGzGvlwLMgV89KspkxL8QN+n62kfqoAD
+t2QoTiPJOb+pKqQ0sISXcFN8r047vMt5EYXri3RCV+amBYzBIMOAPQ==
+-----END RSA PRIVATE KEY-----
diff --git a/scripts/biz-certs/Dave-EE.req b/scripts/biz-certs/Dave-EE.req
new file mode 100644
index 00000000..cda158ec
--- /dev/null
+++ b/scripts/biz-certs/Dave-EE.req
@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIICaDCCAVACAQAwIzEhMB8GA1UEAxMYVGVzdCBDZXJ0aWZpY2F0ZSBEYXZlIEVF
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApS12A5ClRCpdg4S6THGd
+Dgp++gYVoU/6QlvS+lrFfgeUjBSIPw2NN4+kDFLVyLGI+Yef2lzPTOailSyidn04
+PoUZjINNCb4s0Xio83zFSEqUcsTUD5X4CO1vaUJtkAac+Hlni+ZCeg0e8/ZNXPiO
+XLvyUr6256af3yxJh/PHEDq/x+aK+zWTi78z6+Gq7B+9DvGF/Kh8UjK1cUUdoFrS
+8djUYT3AC59Dq4Qreww0sEXqJm6u5bpVW5fY1t4eo6BwAXgdzxwpGZVnFOSQhSJM
+APJVAsqkMewwj7o9MuWYp7h9xSfL+pAoAV7uDa/zMVRvj2iGp9bVTJTr7+THVGbo
+LwIDAQABoAAwDQYJKoZIhvcNAQELBQADggEBAACImjAn+1Tg268r4lVQ/pW9MT6+
+k2R/KSN8bkdu05dbX7z7Bz5naTVe2QQBzeCXcCoWtMxkgDvK04aVf7Vk7LSFfpr0
+UydsAQdtECrLU022uvPqGvAc0HMC18WDXVQ8ZGSP8VVtuLwnXVBAWnth3AgdFcmq
+x1AO0vrtOQQw2698JlxN6BefKHVLDR6axidmHMBnMq99mTEAhDiwlEgyC0Uhc/WT
+sSxNMTeoGopwtQuT1dlbbOT1eVuKAGPrsMVOJtjYNpbQrc8qAAteCPBLg+bHKb91
+fb0ITSZBew/rAffj0knCB4/f2Qj0M8NgJNwJScHmv2E01Sc4c0f7vs8ad6s=
+-----END CERTIFICATE REQUEST-----
diff --git a/scripts/biz-certs/Dave-Root.cer b/scripts/biz-certs/Dave-Root.cer
new file mode 100644
index 00000000..88d3de61
--- /dev/null
+++ b/scripts/biz-certs/Dave-Root.cer
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDHTCCAgWgAwIBAgIJAJDXMKHpGnn7MA0GCSqGSIb3DQEBCwUAMCUxIzAhBgNV
+BAMTGlRlc3QgQ2VydGlmaWNhdGUgRGF2ZSBSb290MB4XDTA4MDQyMjE4MzM0NloX
+DTA4MDYyMTE4MzM0NlowJTEjMCEGA1UEAxMaVGVzdCBDZXJ0aWZpY2F0ZSBEYXZl
+IFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzOScJlBkVwfoN
+KP5/0qIM/ZisBYicqHXErDE7WCtBXh05bwRKzGYtn3dARnJa1EoLKnVFzPxZ/mvx
+Ntmqax3/B3+Je6KzCCEtmgNfIoSwxY1Ms+/vEo/SLpVYrk33K7mpx3rDXqpUSiZ9
+BAXZAlK4slB8A/Di8H3hdsR7H927JS1LlbfFBKvpv/uYvmJhBdDKIW+k4DtQe7j0
+KhoYliCfUoX7Yxc8XlDO14uS4wiaU2n929B/va+pZSp+00A+Vj13gbNW0rcdG3A/
+vc6Xb5B07d9Q3g7VyoI922bU7e59+TqZdYvdfqqijROVkZTCYEL6Vc2ooK7/hYzf
+JnVAtojbAgMBAAGjUDBOMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFLR9TBGAY10F
+qib2lzSh7r4tKBjuMB8GA1UdIwQYMBaAFLR9TBGAY10Fqib2lzSh7r4tKBjuMA0G
+CSqGSIb3DQEBCwUAA4IBAQAEEKeBHZjHBOIybw+Fr69WUDLjHZ3RMelKBrQesKbo
+qD6a+e2R5gP0FewVDZCUaKGAxuC+hFXHxDe3wN3lG07xHOdlgijpm/MWy67rMZvJ
+/h+j/1RpptesIawDA5HmtBhk3S0ig4CZg5xzaDmz1RpGhLncOEAn8T0I3h2N32v1
+PsBHSfbXsaSlff07HnDXODeFcxP58MUpWjvGdCcT9FykeceG1l5bFZqgsXLuWKoh
+Cjj3pi0aPv/OOqN1HnTJfC5++jhO3ScVgE/Q2Zo//As3WLDrSBcpWWgK8qRZ0cU9
+LTSZUvHL9bAah2VCA0qtw8GjqRPd7r2UPFwh/Wd1BKDR
+-----END CERTIFICATE-----
diff --git a/scripts/biz-certs/Dave-Root.cnf b/scripts/biz-certs/Dave-Root.cnf
new file mode 100644
index 00000000..84840989
--- /dev/null
+++ b/scripts/biz-certs/Dave-Root.cnf
@@ -0,0 +1,15 @@
+
+[ req ]
+distinguished_name = req_dn
+x509_extensions = req_x509_ext
+prompt = no
+default_md = sha256
+
+[ req_dn ]
+CN = Test Certificate Dave Root
+
+[ req_x509_ext ]
+basicConstraints = CA:true
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always
+
diff --git a/scripts/biz-certs/Dave-Root.key b/scripts/biz-certs/Dave-Root.key
new file mode 100644
index 00000000..4c5b73bf
--- /dev/null
+++ b/scripts/biz-certs/Dave-Root.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAszknCZQZFcH6DSj+f9KiDP2YrAWInKh1xKwxO1grQV4dOW8E
+SsxmLZ93QEZyWtRKCyp1Rcz8Wf5r8TbZqmsd/wd/iXuiswghLZoDXyKEsMWNTLPv
+7xKP0i6VWK5N9yu5qcd6w16qVEomfQQF2QJSuLJQfAPw4vB94XbEex/duyUtS5W3
+xQSr6b/7mL5iYQXQyiFvpOA7UHu49CoaGJYgn1KF+2MXPF5QzteLkuMImlNp/dvQ
+f72vqWUqftNAPlY9d4GzVtK3HRtwP73Ol2+QdO3fUN4O1cqCPdtm1O3uffk6mXWL
+3X6qoo0TlZGUwmBC+lXNqKCu/4WM3yZ1QLaI2wIDAQABAoIBAGMRGnT++ga+3Htd
+x5/cTFsl6rhbrrH5pG98RxJooDBX14uhxBucdHaPiRlsV1XBttQJOh3FO1B7hCsn
+iJXc9A2+lU7nmn2f5scQNQDnUbVs3bgiVmQuPHWP7lnAr7QK5WvlqgRIVZqWCkRc
+bucPk64oUrjabNLk4JA6WE0+xg/lhPxeS2m2FK0fwR+XQ6kDQ25Qpu6DCoWIABWK
+5xHPUyOvFX2aszA6pUQM+uFDlK7WfhrLPLe3O/EJR291RTnjy+CwTGhoLet/ul1z
+K9FYrOsijfjxSrXzv7KO876buRNo9wqKjZIkWNN+LsBL7HB0QPCCuW8mGD6o8JnC
+RE+7fIECgYEA7EjNSJcTfUtVSB4a2cNAMXhjlLk3AvQiXL18nkSn8FT7I4lh2Iqd
+UR9hg3CvzCCbI9Pa+rmslB9gkIvv1G/Q+FWIrptGQEMr23jOtUCbn4smvJDQw26C
+cN7DuWyupVRrd5JCy4FVx3RX3GKPbUa1lsWASHXdfdB5eQBCpCdBTPsCgYEAwi18
+Pf6u6+oSAvwOdXak1/gmGFKGWHQwRuAPhf+6Mu0df+UJOYdwe9t8M5elb2x7iSlx
+THlkmLez88pKvwt4m6st8NBDpWxnXQ31RDAyk7t+kQmUXu1ZPhZxFW7PFQtLLP2M
+Ra0lLXefzwgxe2tSzxxX1N6kqwX3hMObK43HLaECgYB/d6rfHTlTX3+LX0pG7fFE
+ftjh06Vcv42GEGcZDpq2qXGuMyAI7IZ/y/kUKod8DJ8FDfZVSjNS2TaD5CompYfL
+YIFTCMs2QcZ4KM0CtO7/e9cS5ODqfUR7VYGrF3mEEW3EXLASDxzSc+4uIzGS1xGB
+W9yfuo4ZoIzXfQ92dQLiXwKBgQCye7zH/2Ip123W8HkZ34SGP8JEeRakF6iIfUvH
+j9hHF00WUiC4kJYEQytXAP0//idPXJiYAr1E4xa18Cvkj1a9QAtqXwTO+WXJUxsv
+Il5bDOy5xGRtHR36xAYN/Vy7qzXelPBq20xhDqQGWTGikHP9i7/wGvahfUqW7nWj
+Ax8iAQKBgQDBXi0DuR8qrKrZMmvK+oJbx7wlrirAXm+2WGuzvazSFBdjV77w3aoG
+lLWhYELFsGZS9uACY/yWkvXX2+I59m0vrRCSZy/4WTOnIl1JyQXI3ZaMBaBTTUr0
+cQQnzaOs8kkBF+ndYZvMY19hhs6s8bvOcfLeDya1bgJdlkbAA4Oy9A==
+-----END RSA PRIVATE KEY-----
diff --git a/scripts/biz-certs/Dave-Root.req b/scripts/biz-certs/Dave-Root.req
new file mode 100644
index 00000000..5c16b134
--- /dev/null
+++ b/scripts/biz-certs/Dave-Root.req
@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIICajCCAVICAQAwJTEjMCEGA1UEAxMaVGVzdCBDZXJ0aWZpY2F0ZSBEYXZlIFJv
+b3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzOScJlBkVwfoNKP5/
+0qIM/ZisBYicqHXErDE7WCtBXh05bwRKzGYtn3dARnJa1EoLKnVFzPxZ/mvxNtmq
+ax3/B3+Je6KzCCEtmgNfIoSwxY1Ms+/vEo/SLpVYrk33K7mpx3rDXqpUSiZ9BAXZ
+AlK4slB8A/Di8H3hdsR7H927JS1LlbfFBKvpv/uYvmJhBdDKIW+k4DtQe7j0KhoY
+liCfUoX7Yxc8XlDO14uS4wiaU2n929B/va+pZSp+00A+Vj13gbNW0rcdG3A/vc6X
+b5B07d9Q3g7VyoI922bU7e59+TqZdYvdfqqijROVkZTCYEL6Vc2ooK7/hYzfJnVA
+tojbAgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAQEAla5o/AXTlkCA6WHPRRTyjFWb
+5CUn2Ccd71bP7KN0a7FhQThl9gwzCQT69Iq7SKt2EIunXXQB1JxRIuOOPTkni8zl
+h5s81Mmg5HlY/8QOE+7wa53dwuVDNzhCVfooYOuVtBDm1b4JsvRihuP1kc3muAqL
+J4fFuBSykt/khDzatj6nFVf0S/CLZpUV+67TIr5OC+3b5uu5x2ehzLaC9kA1bhqd
+KU5hHYGmYHKnZn2kWYzlYG9w50CMcXp5+UAa0RKQODpyshfG7T5sdAA4uCuqaIFT
+F5JrSpngaFWbPnN68aSWn9h7eMMVFdAeWcI5CIEniaJtHca5/i4eXCYPVn/Iew==
+-----END CERTIFICATE REQUEST-----
diff --git a/scripts/biz-certs/Dave-Root.srl b/scripts/biz-certs/Dave-Root.srl
new file mode 100644
index 00000000..0c32cf7f
--- /dev/null
+++ b/scripts/biz-certs/Dave-Root.srl
@@ -0,0 +1 @@
+95A09442278AB7DC
diff --git a/scripts/biz-certs/Elena-CA.cer b/scripts/biz-certs/Elena-CA.cer
new file mode 100644
index 00000000..41d6b730
--- /dev/null
+++ b/scripts/biz-certs/Elena-CA.cer
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDHTCCAgWgAwIBAgIJANw51pG5UQL7MA0GCSqGSIb3DQEBCwUAMCYxJDAiBgNV
+BAMTG1Rlc3QgQ2VydGlmaWNhdGUgRWxlbmEgUm9vdDAeFw0wODA0MjIxODMzNDZa
+Fw0wODA1MjIxODMzNDZaMCQxIjAgBgNVBAMTGVRlc3QgQ2VydGlmaWNhdGUgRWxl
+bmEgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDheo8bzzgwGwVP
+tGIl6jTTe/WMy7nKUHG0AJZLBMEZv62JVxBauroeADfhEzYIkLxhnclA1Ij61u2J
+SxHpmLf+mD5xJyhJwiOA9dtcnqMpUq4nql9zg5oOID7XMlPZrNmNEDqs7f28BfT6
+7cdMC2IifO6kPJKGameETraEgdrroo6zgUhDJDYaqMHidU/J3nTTIlgw+h8EQBeX
+oW9o4aBHO/GNR1uC+I76Bpl1vWSAcSatHB8xNsF74JhQNq36j6SGPSEiDxHXgX2V
+GchwltTfDvYB8Fwc6w4/bvQXfXGdE9KoSVsh4BTFrV4TX58CAiPdkHBLQVU0cvl+
+2/gxLPCvAgMBAAGjUDBOMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFDUkefOGghlI
+UfR+9vX1DOe0MwbZMB8GA1UdIwQYMBaAFH0pngEFpjbgE0OUC7c5ARkAkJ4OMA0G
+CSqGSIb3DQEBCwUAA4IBAQCVSn9AiMa5Jmeb85b70UEarjqLm3aCI+5urKauDIgq
+w8ltQs+IhFH9C2blJXSxIWJYVhlWGWZuoG965CfOtv0SJlbKnQ2msB3BK++erDH9
+xuRB80uZGVWoIXIE7qvsYcBl550lCfmDxkIT5FfN0IpCOns9uy/wB7NvJ8mC9Nz1
+cNDoPf1dySeW7deEx0WsMr1b8UCMQbNdqjf/ZI0FI4uzUE+444tMpA60fqD30gFr
+VS8O3ItmUB54zyMi4C/J/+Jlq3QTVYqE6tnD1YbQDgmzxV/pOb1ZM2GK+cG1XVnC
+SMGuuL2NWF+Wt0SDK17BUfne4DPBszrBqDS5DEhseW20
+-----END CERTIFICATE-----
diff --git a/scripts/biz-certs/Elena-CA.cnf b/scripts/biz-certs/Elena-CA.cnf
new file mode 100644
index 00000000..e440fbbe
--- /dev/null
+++ b/scripts/biz-certs/Elena-CA.cnf
@@ -0,0 +1,15 @@
+
+[ req ]
+distinguished_name = req_dn
+x509_extensions = req_x509_ext
+prompt = no
+default_md = sha256
+
+[ req_dn ]
+CN = Test Certificate Elena CA
+
+[ req_x509_ext ]
+basicConstraints = CA:true
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always
+
diff --git a/scripts/biz-certs/Elena-CA.key b/scripts/biz-certs/Elena-CA.key
new file mode 100644
index 00000000..40a3c768
--- /dev/null
+++ b/scripts/biz-certs/Elena-CA.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEogIBAAKCAQEA4XqPG884MBsFT7RiJeo003v1jMu5ylBxtACWSwTBGb+tiVcQ
+Wrq6HgA34RM2CJC8YZ3JQNSI+tbtiUsR6Zi3/pg+cScoScIjgPXbXJ6jKVKuJ6pf
+c4OaDiA+1zJT2azZjRA6rO39vAX0+u3HTAtiInzupDyShmpnhE62hIHa66KOs4FI
+QyQ2GqjB4nVPyd500yJYMPofBEAXl6FvaOGgRzvxjUdbgviO+gaZdb1kgHEmrRwf
+MTbBe+CYUDat+o+khj0hIg8R14F9lRnIcJbU3w72AfBcHOsOP270F31xnRPSqElb
+IeAUxa1eE1+fAgIj3ZBwS0FVNHL5ftv4MSzwrwIDAQABAoIBAEAqOnN1gs3dwqMt
++AhGIAZW7kfE6fgy8EiDKkHq9nC3ZVECH7tSDAjhkwVQDD5fwdwdpNn4IYsQgsRh
+QpWxShr/hDV7KTHkN2pJjMVMt63Yw4qyJzueJccDUh63SblWQQqtpaT0jRJmt5J4
+/BAd5S1fVCIUwrXRreeu5q3KrlwDe6/278pQDYWswXyAJxN2n5H6ATIFOVFg20fd
+hflxQwCex6qDj6w1mhppx/sYLa1uotHr1LfRWgrt+KVNITtJ5yigvbBzKkCu26Uv
+Nxf2V1JjOYhO/q8n4A6YPtIkLKOrWZFFl2KwXTEEd5pL/91XTxGIlALsIu/4C00C
+Tb/vcTECgYEA+oRmq8qtC8YfN+cvwx/ujfUJ/QnhFlxHb+PjLQGWncnKeNOgeVVv
+i7HktH8KKvz5t1QYCR7EhVKxH0zxInQe6Q+eT3fZoQ1Vf6rWcF+KR1w+R7gdqDAl
+GY/tbTLtRWcin2oMggz4dvufdIJ82+fz2RTvmudGQ46yiyYPtDL8Fg0CgYEA5mnf
+V+cvmPFDWlxSwp1JDiUKLJeKNFpp+O0G2PhrpTTAHuiNZ4xQLj7h3k7Zid/Cbu2j
+VTEHK341Gz43bUQgJr4jFWcaCGNDL2mUInZGvFYBFOoWQFFhkhhYWvZr5X5kGg9j
+BrRwJGZ1kRL9zRqPs0k5LU1bfHBCdXhf18wLjqsCgYBqWrF393iVygvQ4O5PCYxu
+afxOl9YedxjA8N+uaME3xcaWm0nCmTnc9a4hztlTPMkLQsFdhdlqvJuDrVemB+Rj
+j4TnOfuDuzR0GeQmGvmKqCesrQayM5ZcjtT+iiNfVpTFVvFuePE3GkYs4YT+my/U
+FmZOvib/YWJ9XrBGEWsiNQKBgDhLbbIAXfS0HYyaOe4ql4rJKe8zJyUbYgDbiGzC
+ZSp79OSYVNQTyBNEcdLq2OOCs/J+RQWvcN0DfN4nGUus9V4B3niANDAQcH3JAdRZ
+qXaiXKlLeBxGxdv37r5qrnnno3VqhPtCYpPCJL9JMJFICAv5u+qBl/STSOmCe4gx
+5jD5AoGAUNyLLGuqFI8UJZP7m7YXAylRiR2IWF6/ia3e7Az6t6HvHhXkjBWkQ3Gl
+q9zOsBlFxHQUA5o5zolMdCyT6bsfDkzf3l7RAP0ZgE3gqIY10pDbedSa8/9K/hX4
+q89JPkj3wa6AciesEcCXML2ttYZEIKsgK7p6NE0SEejCdSs1v5M=
+-----END RSA PRIVATE KEY-----
diff --git a/scripts/biz-certs/Elena-CA.req b/scripts/biz-certs/Elena-CA.req
new file mode 100644
index 00000000..5912de56
--- /dev/null
+++ b/scripts/biz-certs/Elena-CA.req
@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIICaTCCAVECAQAwJDEiMCAGA1UEAxMZVGVzdCBDZXJ0aWZpY2F0ZSBFbGVuYSBD
+QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOF6jxvPODAbBU+0YiXq
+NNN79YzLucpQcbQAlksEwRm/rYlXEFq6uh4AN+ETNgiQvGGdyUDUiPrW7YlLEemY
+t/6YPnEnKEnCI4D121yeoylSrieqX3ODmg4gPtcyU9ms2Y0QOqzt/bwF9Prtx0wL
+YiJ87qQ8koZqZ4ROtoSB2uuijrOBSEMkNhqoweJ1T8nedNMiWDD6HwRAF5ehb2jh
+oEc78Y1HW4L4jvoGmXW9ZIBxJq0cHzE2wXvgmFA2rfqPpIY9ISIPEdeBfZUZyHCW
+1N8O9gHwXBzrDj9u9Bd9cZ0T0qhJWyHgFMWtXhNfnwICI92QcEtBVTRy+X7b+DEs
+8K8CAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQCUr4N7J1XzAEtt42nZ3YwtFdNT
+ZXmQYcXbNLimdp1A7nlLWZljrA9qNTkajiwQxQy5DK/49r9OiBfyTnIl5/qZTS6H
+cfF9LkCpfy7d8Ugllony5Z/xPNJNPyrSvCSH2kZnKHOUbnDvwgr6vCnPB5nF6tll
+gM0uNxR7fDEKbpy4FBAx6pxM271ecFJ1PrKc5P5SAoh0sb2JItW1eeERWTG4SwwK
+c27MUeATRPnp9YcM35nV1vj3aqnQmVI0PVyyPuyhqXCPfopoBycjRSjrZCK5mFPX
+uEfhidaquj6rz/EYuwBMw6i+Awl6leUKu33UBO2zdKLYPHzW0dfn/opZFEQh
+-----END CERTIFICATE REQUEST-----
diff --git a/scripts/biz-certs/Elena-CA.srl b/scripts/biz-certs/Elena-CA.srl
new file mode 100644
index 00000000..dc63ea69
--- /dev/null
+++ b/scripts/biz-certs/Elena-CA.srl
@@ -0,0 +1 @@
+BE5ADAEC3C73907E
diff --git a/scripts/biz-certs/Elena-EE.cer b/scripts/biz-certs/Elena-EE.cer
new file mode 100644
index 00000000..f61b509f
--- /dev/null
+++ b/scripts/biz-certs/Elena-EE.cer
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDGDCCAgCgAwIBAgIJAL5a2uw8c5B+MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV
+BAMTGVRlc3QgQ2VydGlmaWNhdGUgRWxlbmEgQ0EwHhcNMDgwNDIyMTgzMzQ2WhcN
+MDgwNTIyMTgzMzQ2WjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEVsZW5h
+IEVFMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA20zGWcQ9LkKL87A0
+bPHIX4oDZplZHuC44zT/eWuWACyktqjqjWK+ZvbwceNOfamccCGko1FSFNRXs1OH
+1B3MkOHY7OqjthjrvWoMuWDl6k2dMUmZiIASXJJPDXpXklA6YVmDXnYReYe3cc3M
+9cPKB+nBtcRQZ9ZppnC/CIsNAordEemkNMk/H3EPcgrsAPakYfuH5J+e5BawHgpX
+dhTT7fEG70FMJF5M/bUyN4AfXATfE0IC7bRhfcsLs6VX1rzzhLk4FbgE6W/+d/xV
+nrCVimWwH6xO/DxskV1GSYaASsyDzIbzjwQLMRgyPqfAc9PzQX0hAFFu2EmPRBvd
+3NQjbQIDAQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBRC+sYdSXpKjNo/7+e7
+rcktSMpxSzAfBgNVHSMEGDAWgBQ1JHnzhoIZSFH0fvb19QzntDMG2TANBgkqhkiG
+9w0BAQsFAAOCAQEAjhx+z0uZQV8wSi8Sa3YfmKwXu1BVg9qS7Y0L6P9SV8pH6XAD
+6Zz4vRtZldRlroQ3fIZymlCR8fHBU5KTscdl2kHWRuV3kV/p7YGSaRNSBfyFOXwm
+8rKWdRpfqy/xTBjp/iIeykdKIArICupZYdNczd2pYj4HKiI2n6g45cada1dLq3Vs
+0n2wTytCHvogOqjMu7x5D0y7qYkazOzgieb9HaBzVohxiNsOUvp/suxVKFGPEqsV
+D/FE335P1BXMVaAISk2uBWqGz2WDitCmVahlG7glicmtWAOddam5qCdlXSSjp4gm
+W28Ra+ack73b2wGQEJa+lfM5ntkGjKB971Lf4Q==
+-----END CERTIFICATE-----
diff --git a/scripts/biz-certs/Elena-EE.cnf b/scripts/biz-certs/Elena-EE.cnf
new file mode 100644
index 00000000..dd343585
--- /dev/null
+++ b/scripts/biz-certs/Elena-EE.cnf
@@ -0,0 +1,15 @@
+
+[ req ]
+distinguished_name = req_dn
+x509_extensions = req_x509_ext
+prompt = no
+default_md = sha256
+
+[ req_dn ]
+CN = Test Certificate Elena EE
+
+[ req_x509_ext ]
+basicConstraints = CA:false
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always
+
diff --git a/scripts/biz-certs/Elena-EE.key b/scripts/biz-certs/Elena-EE.key
new file mode 100644
index 00000000..dd05db61
--- /dev/null
+++ b/scripts/biz-certs/Elena-EE.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEowIBAAKCAQEA20zGWcQ9LkKL87A0bPHIX4oDZplZHuC44zT/eWuWACyktqjq
+jWK+ZvbwceNOfamccCGko1FSFNRXs1OH1B3MkOHY7OqjthjrvWoMuWDl6k2dMUmZ
+iIASXJJPDXpXklA6YVmDXnYReYe3cc3M9cPKB+nBtcRQZ9ZppnC/CIsNAordEemk
+NMk/H3EPcgrsAPakYfuH5J+e5BawHgpXdhTT7fEG70FMJF5M/bUyN4AfXATfE0IC
+7bRhfcsLs6VX1rzzhLk4FbgE6W/+d/xVnrCVimWwH6xO/DxskV1GSYaASsyDzIbz
+jwQLMRgyPqfAc9PzQX0hAFFu2EmPRBvd3NQjbQIDAQABAoIBAEJQoyJ+DyowAXY9
+cH0JWFhbuc+Ky8JknkRGwIKNIB0JYv3BcrwygfVM80TdQd0KLz5RTiH8819NHwAh
+YE+qezPMt/ZctgjY3GC48wQT4zLJKaG/6ee3ItZPgAxJVLXwANdzZCBqf7pKahTF
+8RbYj/14mJVIui/MTMKCEaKZueNsX0PZGWmSsDiQAZc4OXNuxb+ogI8mqQGJsACa
+fj7sGXgTh/XN9INT8RdQS7H4FQ83mCnbPeM8t7kU4HXX+9OtLitWOgUoJQ65raAq
+vdS8nizQCfpefQr4Bl0xI0YA8MFmmspCqD6q1zAtpnCe7dtzEzFuRJ/XxsRP0Ee9
+aoDQ1QECgYEA7l2L+9gXIf4AmAmVQ5rEOR8B2yHcdwpuKeM+CSZ/o5sesApJlRkn
+ha5Cit30HlpgSQmNAvlSQ+FzU1loKRR9vDGIfZp/LRX+Zwue7z9MtrhJb8rDKqVO
+p50LLwVvH7eir5S7pBylzEjuOXlIc7nSkrJ2UQIiuolm5WhsSIbUbY0CgYEA64Yk
+ZAufuMv5UB9ztiXdWsX0vM8R5iYlplAoRJQea3Ux+wHuDHAlVZ6j7x3EcLn3yHmh
+4pmKC1kPcH7rSiX7tgN75BwRudiTTUCy42U5Gf2P7j+QnNdrNRa9TO/DRjFcJz2j
+2oab3UNMom00iVSxpEqzIcJyTpGBsl0ZCgEWZWECgYABhTM5Xf13yAj070q2baxG
+uP3oCeVAFR7ywXJJ2KcDwh+F++rQOqLX5W6jOBswfl8S2C7AEBsIN83mgDF74ZeT
+tbUrJ+sbvIIs4hQXbo3stGwzfFWWVguUYhoKKLy2tRMij45K06vzC5wJXc6qfkrr
+iJvclGjoS6wOVoYqSEHemQKBgDOq3MbZyfM3Q/0wuSinS9UDAjp9TpbnnXDLutm4
+iKfYMNu4w6kU3QvYXmwxYou8MEBZdosIVcFBi2KJZUKB7KM0RnR3N+hGO6JB5DyA
+UzOBbZa9eRL/KvSdhW+gVX1LjMTK/+wLhZvXjLNBM7pAyyuYe42XY44a25HuXHTW
+YjxhAoGBAO4AxeL/zVOZxkZH9b/8xo/31wj5DPunGGF/igIauXg9G9rdCQcNtWLw
+rhZxj13OqfpbEuS5V0vzLSN0JMVXWc18ekLY1fcdXRV7IZ5mh8QFQiqslTKL0u74
+CH5PJX/5OCQoz5vEcg7mrO+a34ew3uf03q6TSlTtWuLrEzoQKu83
+-----END RSA PRIVATE KEY-----
diff --git a/scripts/biz-certs/Elena-EE.req b/scripts/biz-certs/Elena-EE.req
new file mode 100644
index 00000000..b6f095a8
--- /dev/null
+++ b/scripts/biz-certs/Elena-EE.req
@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIICaTCCAVECAQAwJDEiMCAGA1UEAxMZVGVzdCBDZXJ0aWZpY2F0ZSBFbGVuYSBF
+RTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANtMxlnEPS5Ci/OwNGzx
+yF+KA2aZWR7guOM0/3lrlgAspLao6o1ivmb28HHjTn2pnHAhpKNRUhTUV7NTh9Qd
+zJDh2Ozqo7YY671qDLlg5epNnTFJmYiAElySTw16V5JQOmFZg152EXmHt3HNzPXD
+ygfpwbXEUGfWaaZwvwiLDQKK3RHppDTJPx9xD3IK7AD2pGH7h+SfnuQWsB4KV3YU
+0+3xBu9BTCReTP21MjeAH1wE3xNCAu20YX3LC7OlV9a884S5OBW4BOlv/nf8VZ6w
+lYplsB+sTvw8bJFdRkmGgErMg8yG848ECzEYMj6nwHPT80F9IQBRbthJj0Qb3dzU
+I20CAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQAk+mqJXKC5mVZ4qDblAH0P+qlH
+FQnx7D5z2xZPffJQCYeibO2b44Y8Cu3PBnpFDHN2ErK2bNlHqHdzuimYfnY9Y3hK
+cYaOv/lsduqKFFh1u8MJHujlv6cxPuRWnXicryD02ZxQ7od5hYs0jyoe+EDtkqpk
+KMNB2rT6wdD54bwoYjg6uVdIIEoEpts/3pIun9dSWWJFW1m97uhzjyIYyhY5dFko
+twlsfdG/cGe0JqqZVqyAyncPDPMlXYIsFOdtnoWTSnBawrNtUiDTKtSVu4gli/FD
+tw1Ir+CDu4RGY9oz7w307Z893EUbycb3aSS716OPw2EsX/H1B3IBTwjECN+f
+-----END CERTIFICATE REQUEST-----
diff --git a/scripts/biz-certs/Elena-Root.cer b/scripts/biz-certs/Elena-Root.cer
new file mode 100644
index 00000000..9cce6c19
--- /dev/null
+++ b/scripts/biz-certs/Elena-Root.cer
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDHzCCAgegAwIBAgIJAIQo2n+cKhh6MA0GCSqGSIb3DQEBCwUAMCYxJDAiBgNV
+BAMTG1Rlc3QgQ2VydGlmaWNhdGUgRWxlbmEgUm9vdDAeFw0wODA0MjIxODMzNDZa
+Fw0wODA2MjExODMzNDZaMCYxJDAiBgNVBAMTG1Rlc3QgQ2VydGlmaWNhdGUgRWxl
+bmEgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANfp5CkWcw3a
+9iz8WT3x/A0NZQERIIziGApTWEmVhXxBz2whxF0JnAp1vkUOkeF8kOK4AQu2s5TP
+jwc0dIlZ9pJk6X7jsuVry+uGNe0DJdYBuxFTYyzZK29M79qXZF17yU0ENAE/9eMA
+kdHiB0CAJXpOjK7sjhL2eC2fch9UtWMD0z5l0aWqW8ij1KebXNF9ihaZij+fY/px
+NB2dqjdkJRr8wGN3fksS58JcGo4S1BgRqpIGdaAPogI3/Rp66xEDYmoWUhB1jvPl
+uqQ+w0dj1h9eNEBigDwO5gyjyAs+lljOwj2GCzhffaTvsM190oSbCrU5uvGX02bU
+493dsxFZbfsCAwEAAaNQME4wDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUfSmeAQWm
+NuATQ5QLtzkBGQCQng4wHwYDVR0jBBgwFoAUfSmeAQWmNuATQ5QLtzkBGQCQng4w
+DQYJKoZIhvcNAQELBQADggEBAKB2NQ6sXC2pzeztL3w47Ys0lWmYiSzUtQ4zOmhL
+cwVtIm3bqopHceaiJMtYBahljvz/CRvyKziS5OgLXXlWyCSGMe/JQ7MJysyHKNoy
+PE8FcDormlTmu227OMaz+vssmwIVCKskBxtc/nB0veN7nyhpOPZFrBsV15R8Uh/O
+075+wRj/CEX1F5u5IASqC/hQlEO5nbINFd93/Sh6bZT0xXJ9qm1LFhITBig1sQaQ
+ARhlnMYK1hyp+x1vh+Mylw0HX2OP5EgTDGyKT3+wbaFQ68kzUXPs7CZSGYh0FeCz
+2uOYb/C9r+VwjLG/Os3V17pTpaQcS2PvjcyUznpZ9N8Mikw=
+-----END CERTIFICATE-----
diff --git a/scripts/biz-certs/Elena-Root.cnf b/scripts/biz-certs/Elena-Root.cnf
new file mode 100644
index 00000000..9123fb90
--- /dev/null
+++ b/scripts/biz-certs/Elena-Root.cnf
@@ -0,0 +1,15 @@
+
+[ req ]
+distinguished_name = req_dn
+x509_extensions = req_x509_ext
+prompt = no
+default_md = sha256
+
+[ req_dn ]
+CN = Test Certificate Elena Root
+
+[ req_x509_ext ]
+basicConstraints = CA:true
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always
+
diff --git a/scripts/biz-certs/Elena-Root.key b/scripts/biz-certs/Elena-Root.key
new file mode 100644
index 00000000..20ce11c7
--- /dev/null
+++ b/scripts/biz-certs/Elena-Root.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEA1+nkKRZzDdr2LPxZPfH8DQ1lAREgjOIYClNYSZWFfEHPbCHE
+XQmcCnW+RQ6R4XyQ4rgBC7azlM+PBzR0iVn2kmTpfuOy5WvL64Y17QMl1gG7EVNj
+LNkrb0zv2pdkXXvJTQQ0AT/14wCR0eIHQIAlek6MruyOEvZ4LZ9yH1S1YwPTPmXR
+papbyKPUp5tc0X2KFpmKP59j+nE0HZ2qN2QlGvzAY3d+SxLnwlwajhLUGBGqkgZ1
+oA+iAjf9GnrrEQNiahZSEHWO8+W6pD7DR2PWH140QGKAPA7mDKPICz6WWM7CPYYL
+OF99pO+wzX3ShJsKtTm68ZfTZtTj3d2zEVlt+wIDAQABAoIBAQCvcLmYOUmbxIOr
+4hCRqQLpiCy+RTBxyXVHTpm6kOg6Iy9r6bQo9Rn51dqZOlGHKzR/RIx0/CvHiy/o
+5tKamKMmKSEhndtLV+AGrLM8twYTcqySU3OOiZglhBqRP9qpq1/SWMv5CAPAREI4
+jLTf0ECjtRfTOxvmhKb6S0jr9GS+4mpth7YabrwRiMVw5YrbpKP0Elp3Jb45+els
+rwU1IRGFIDOjVfNcpA7jwXhaYsPHizTSS27fCG+ECJxXaf+guR8q7Jh3Ww6MUvGw
+W+45NHaoxA6v3elCeiLBO3XpQa0tItvih538Ro9pqJ53TMFjT2IdGnAHjj6Gs3qb
+GlaodrwBAoGBAPTFv/cjNF/aQ7LX2sNSj/7/Kh+FmnTmZfbkgwuuD4F937icYNzw
+gD5RsCbaFyF8MqwDzYnj8C/0qMeMan1On1+oyc720IOPSA4sEEfoEwZUIiphizVg
+4M/h6teQl2pfquvakfzoa7egFX+PuZt3VugZ08L4XLw52vu4F3Kspw2BAoGBAOHR
+Q/phq7y+B2mzs574cL84BJELIKfuX3xXKENUvygmohzkykH2wZpYk1ttPiTR6Qyu
+kJnYM3N0VuxUXW11M1eEiQyISuNmJadghY8idg8+p7TH9IjoRzG00Rh0FB0JqGZF
+3Jzl9SPqKW+QXDNIVb4N9sd8ohKiDc2KfjqwIHF7AoGAOX+Wh5SCgh3Al2tzXTyw
+zMLd/0egL+PLggLN8dlylQWfnztE2cG5Lmp8CbRjiJ8nPBcsmj6sNmevmiiW/1aP
+w6XfujlqY+0tjP622F1g0rTCzdfaHrDiPpMgWoEBwKA2g271qkZiv2Dgi/WUMTwI
+cz9V6k/zYNfqZAUrpOl/2IECgYEAoZLF/OTdqJKfYzY9E0XYBjniqpU3rHCWybTj
+DioZDHV4EQxy23ffVryB0yz7BgVbpsNQm4NibP2VJEvI/YSaU8h09w6d5s8zqesa
+JSwXJRlDjcp0YXExX5Ns+P41VgGPCH58N5ciK6xkMXstPVRIZVBAfsPig0qIbcTm
+RL+4tvkCgYAmcv+/9rPHm05RoPalnvhphQod9f5u6h2xr6GrwwmaUH6ZvovGs4jA
+M+k0NGMDmIkU54NakBRp+HF8L2ztJlhg85DymJZVRzPo7mGw0jYxM9OjUWkZB2Rt
+eqymf/c6PnwLUtl6ktc0FsvmIbn7tyO+NLmMqZy9ipvgnQKVhs/K+A==
+-----END RSA PRIVATE KEY-----
diff --git a/scripts/biz-certs/Elena-Root.req b/scripts/biz-certs/Elena-Root.req
new file mode 100644
index 00000000..2ed96975
--- /dev/null
+++ b/scripts/biz-certs/Elena-Root.req
@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIICazCCAVMCAQAwJjEkMCIGA1UEAxMbVGVzdCBDZXJ0aWZpY2F0ZSBFbGVuYSBS
+b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1+nkKRZzDdr2LPxZ
+PfH8DQ1lAREgjOIYClNYSZWFfEHPbCHEXQmcCnW+RQ6R4XyQ4rgBC7azlM+PBzR0
+iVn2kmTpfuOy5WvL64Y17QMl1gG7EVNjLNkrb0zv2pdkXXvJTQQ0AT/14wCR0eIH
+QIAlek6MruyOEvZ4LZ9yH1S1YwPTPmXRpapbyKPUp5tc0X2KFpmKP59j+nE0HZ2q
+N2QlGvzAY3d+SxLnwlwajhLUGBGqkgZ1oA+iAjf9GnrrEQNiahZSEHWO8+W6pD7D
+R2PWH140QGKAPA7mDKPICz6WWM7CPYYLOF99pO+wzX3ShJsKtTm68ZfTZtTj3d2z
+EVlt+wIDAQABoAAwDQYJKoZIhvcNAQELBQADggEBAL6+70RrmPjEz6l68X4p2DLi
+PQSpmnTkD8hkPirfE3CYPIbOF5hk6HyjD2eOedBv9jCZkr5L0MFsht7Ob16A/v7Y
+FfNU7JMXyxTjQpOjipGdlUXmt/aXWaP2racg5HdvYlGXriWsCYdwMyMKLmV/is5h
+0YrKvzKd8jB5zcXwoaIIhOavbokpNDaXb7430IE4q0LhYC8d8CEZJJlZHYttkxZR
+SO2PpzeKyuyTKRxAOQDx3mX5Is3ktTtUaMKWMkkSDFmUrvRUXjHzmQQGhejpCzQc
+ZyQZSxmgWgCdKi7KbAiqlA4MSfCSNy3LEUnqY964/TeNjxbIDWShmd5uEpHSX1Y=
+-----END CERTIFICATE REQUEST-----
diff --git a/scripts/biz-certs/Elena-Root.srl b/scripts/biz-certs/Elena-Root.srl
new file mode 100644
index 00000000..4c685441
--- /dev/null
+++ b/scripts/biz-certs/Elena-Root.srl
@@ -0,0 +1 @@
+DC39D691B95102FB
diff --git a/scripts/biz-certs/Frank-CA.cer b/scripts/biz-certs/Frank-CA.cer
new file mode 100644
index 00000000..278af020
--- /dev/null
+++ b/scripts/biz-certs/Frank-CA.cer
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDHTCCAgWgAwIBAgIJAMqO64hXw9BMMA0GCSqGSIb3DQEBCwUAMCYxJDAiBgNV
+BAMTG1Rlc3QgQ2VydGlmaWNhdGUgRnJhbmsgUm9vdDAeFw0wODA0MjIxODMzNDZa
+Fw0wODA1MjIxODMzNDZaMCQxIjAgBgNVBAMTGVRlc3QgQ2VydGlmaWNhdGUgRnJh
+bmsgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDJIEuqlgIImsHj
+L64vwnEuQf1LEoj0N5OzZ8bXB0/kg6cCIZHpp8mxN75/SXRvQbgEGSt5oeb1F8cU
+4sVl6YJ4/1dETDUgR38Txw017vrXgUTusWXEw+i8lBwtlnK5XNUfGJPOoQR3C0Wn
+a0M5ZXLmaXuKgKLcWadWruoXsfCAqPabtjCFfJbx2mbBXMyWgOGmv19FO+RS3B1K
+njpXNz70pc/2P0BA05f/rH4qjVafpiTYq/FeINdDWT69ohUEblOrAuM9Y1WO7uGU
+XGanWyEDlhHU6NwiTfwXdnPQ3YRRxuCz0f3MJL98GFYbWAkF45aERUGkZ1OlRNEM
+3SdA8ezzAgMBAAGjUDBOMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFMGFt7dtC5NJ
+e0d/9mIHY3wsSBxEMB8GA1UdIwQYMBaAFOUmkyh0+BWywAg8nf1Gl2JtpGJoMA0G
+CSqGSIb3DQEBCwUAA4IBAQB6kfYmqhft2aC1lVRTf5GExpAkzm1Z19AQAs1l8APf
++KuSBV6x/SDefBf95dY+23rGNPu2IxFzOoM18Zsl5fS5ztvjIlFjchaoOxOfE7SQ
+yGnbo8M7t78QyecbBdkS6HT9Z2Ob9RyvAZXWojTUQWcSLkm8clIiZzbKWDyoAXhF
+3RpNkSl0LDilQhxiK+aS2WEKaVwGjQoNCXxBo3jGFJluS/ceSgYUsurhjOBeDg7m
+aKwryteNDg7fI5cfGEbp5Fh1P1spCJVlwQrV8aWSb65uO41kvyQxzgmIc/3iarp5
+NTU0OoeKyBAwYphXtu4b9T1njiiRLAWATp9bXxXfxD6x
+-----END CERTIFICATE-----
diff --git a/scripts/biz-certs/Frank-CA.cnf b/scripts/biz-certs/Frank-CA.cnf
new file mode 100644
index 00000000..25208816
--- /dev/null
+++ b/scripts/biz-certs/Frank-CA.cnf
@@ -0,0 +1,15 @@
+
+[ req ]
+distinguished_name = req_dn
+x509_extensions = req_x509_ext
+prompt = no
+default_md = sha256
+
+[ req_dn ]
+CN = Test Certificate Frank CA
+
+[ req_x509_ext ]
+basicConstraints = CA:true
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always
+
diff --git a/scripts/biz-certs/Frank-CA.key b/scripts/biz-certs/Frank-CA.key
new file mode 100644
index 00000000..eecb7253
--- /dev/null
+++ b/scripts/biz-certs/Frank-CA.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAySBLqpYCCJrB4y+uL8JxLkH9SxKI9DeTs2fG1wdP5IOnAiGR
+6afJsTe+f0l0b0G4BBkreaHm9RfHFOLFZemCeP9XREw1IEd/E8cNNe7614FE7rFl
+xMPovJQcLZZyuVzVHxiTzqEEdwtFp2tDOWVy5ml7ioCi3FmnVq7qF7HwgKj2m7Yw
+hXyW8dpmwVzMloDhpr9fRTvkUtwdSp46Vzc+9KXP9j9AQNOX/6x+Ko1Wn6Yk2Kvx
+XiDXQ1k+vaIVBG5TqwLjPWNVju7hlFxmp1shA5YR1OjcIk38F3Zz0N2EUcbgs9H9
+zCS/fBhWG1gJBeOWhEVBpGdTpUTRDN0nQPHs8wIDAQABAoIBAGXHpyL7aKoMDuQ2
+Q9K9dmMvV8v+5DmaSm92q+QzOhXtHb3xWRLCK0o4aHmnpXmL62B/kEWsTeFoGAIU
+xEpPggxTQ0k3u4bLR56tk5zghCY8r7KPKW4KqiOMXDohsYrmVJ+440ukpkrL9ILF
+wC4yjZPWe4Nal5Ak+o7eU26MSKYCdRIDGsW2BhTKjH2stwzojyb4Ru+ferkryF+l
+8chWpf0srfabyVojkVMceRWJ+wFHycff6uZsnXTQgx5yGCown5ziZP3XoDNn7UGo
+0M9960OaOB9own1AxQO0/0jOMh+/h2WE+/fWK0+FIZWQYf9RXE0ppruzLLRMqCZS
+dwVpGwkCgYEA88Q38ZjUbccMLGt9D6LEIuW5qI6Lpds6179VPpTcdRZHOAC79pl7
+bgsazDLdufE2IWiObaJrTGt4cn/Zgy1HyYscRECD4euAFyLdWm40ehZRe3fgMtXJ
+CkxTf1iYLG8VkSVUt3XAXbaRvBikPbvXoo78kQLvLohvRIMCabc3Kp8CgYEA0zhB
+xudHQCfgDnl28Ip7+YWw4Ai69I2ULwwyhJNxbQDAnalAUXFV1j7XvFd8WpLzrPUD
+65D7CYoQNVPvcBFUg+wfM78EEfpFNBqcYkuUCiSAT60E0WwMomhnKPHpHBg/5QjH
+Of8HEuDXAG+iAVcBDIn/iblv/Zhza/za1JKJMS0CgYEAx1JmvDJPYQQlPB0YQbTB
+1Bcr3FvSbGf6kXdt6KIoMcVprq1LBLUzbCPAYcAl9Wj67g5kh9kLC43FCzrnTI+1
+52LMVjK6o/zA3Cox/UOnvTyKm/7FYEvW+4i1radvpsWeSPTRdMHf7cDfIYK0qZXz
+GIT6mEhh8xa0hLzrOC4L+dkCgYAun2JVh0OA88xPJZyNZ+QJperu6L5rsLyezfBw
+tyL4Tow1wOBDmeK6kdCI8D6wt3M2IDcnTi87YdBGFSrq78hZ/kq831MErNuNrroK
+MGiS/I+eBrDjkRgQ2T68GPm9i9S+t3tSX+qtzhdnLzzxUsUWgXd4bQg9T+NaWMvs
+1BOYWQKBgQCAG1lfL1QAx+ZvOa9zbL7U1Z/XJNTM9wCsOpFIvP2VDnLiwsvspjUE
+0sz/6Bh5a75zKUaf0njSZIwNsu/rY3ky+NUK+71MpYWaZdbp3qHSUn0aX8EyueF+
+rkj3RFEX/bVqxzEyJhhTdMDNwppFPkQmBhuJRIQMpoerKZqgK/z0OA==
+-----END RSA PRIVATE KEY-----
diff --git a/scripts/biz-certs/Frank-CA.req b/scripts/biz-certs/Frank-CA.req
new file mode 100644
index 00000000..a4a5a41a
--- /dev/null
+++ b/scripts/biz-certs/Frank-CA.req
@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIICaTCCAVECAQAwJDEiMCAGA1UEAxMZVGVzdCBDZXJ0aWZpY2F0ZSBGcmFuayBD
+QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMkgS6qWAgiaweMvri/C
+cS5B/UsSiPQ3k7NnxtcHT+SDpwIhkemnybE3vn9JdG9BuAQZK3mh5vUXxxTixWXp
+gnj/V0RMNSBHfxPHDTXu+teBRO6xZcTD6LyUHC2Wcrlc1R8Yk86hBHcLRadrQzll
+cuZpe4qAotxZp1au6hex8ICo9pu2MIV8lvHaZsFczJaA4aa/X0U75FLcHUqeOlc3
+PvSlz/Y/QEDTl/+sfiqNVp+mJNir8V4g10NZPr2iFQRuU6sC4z1jVY7u4ZRcZqdb
+IQOWEdTo3CJN/Bd2c9DdhFHG4LPR/cwkv3wYVhtYCQXjloRFQaRnU6VE0QzdJ0Dx
+7PMCAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQC9cUvGjH78jEI4DkDFHFS6bzou
+/rUD9tvrWwDPwtUTRm72dZNUrJj/tjxJjmVmtjUN1SNLmdsDt3qkMtaJ9HO/xy9B
+y3moD2EFqvANFBwzn6s6Kj1XASve3d/Vx4HvEbWXsUOOw25xIg7rePNZ/C8qPh+D
+hGu3S4w9prxwI4JnrhprDSleA0FOV0krlptTKvIV0B44K6N9A4JTCmRJTln94d3V
+imO6H9+itHCEGoO6TZDNAGxD9w18utFvriD+CsPiPSRNKL5OwC6UIoq59qduVoEz
+LV+Rmxx1LA4qvObhUrUmj9Ss85ZNbZWXn63QX66Zt7yW2yNyFNkNNFrBuI2e
+-----END CERTIFICATE REQUEST-----
diff --git a/scripts/biz-certs/Frank-CA.srl b/scripts/biz-certs/Frank-CA.srl
new file mode 100644
index 00000000..2aacfb2b
--- /dev/null
+++ b/scripts/biz-certs/Frank-CA.srl
@@ -0,0 +1 @@
+B05767B1F50A0413
diff --git a/scripts/biz-certs/Frank-EE.cer b/scripts/biz-certs/Frank-EE.cer
new file mode 100644
index 00000000..8b77940b
--- /dev/null
+++ b/scripts/biz-certs/Frank-EE.cer
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDGDCCAgCgAwIBAgIJALBXZ7H1CgQTMA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV
+BAMTGVRlc3QgQ2VydGlmaWNhdGUgRnJhbmsgQ0EwHhcNMDgwNDIyMTgzMzQ2WhcN
+MDgwNTIyMTgzMzQ2WjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEZyYW5r
+IEVFMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3W1VWDmwozts2rpm
+4vU3U/SJvaNRYUISNDiNsdj7rEekcoTR8J+MdgDjV/PEXv7xRleKUf/H+HRrG25h
+XL+xJSMTowWvSEuNaGB/gCFOhbFKLHAjKwvV1eMsstpF0oYSARjPpefF6BMhTHmq
+SmeT1zyqPFP0vOiyYpRbnTy28IfkzxcsF+Z5EvMujqnvjLcP5AXOYVSDC7r0ZzpR
+bu3hcnr2ubBscGZIG6PynmP+xLnkSQs2b9gMaksBdgvRFSYJ5g1mcxr3zR4igZI9
+I4mSxqMbQowmJJSuWZzHIzyxteuD04RIPAjJvwA55/5LLrdVs3VqMlRpsUCetPXx
+fckxGwIDAQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBQIHkroA9j7gpwYBb2N
+or9xU9cpfTAfBgNVHSMEGDAWgBTBhbe3bQuTSXtHf/ZiB2N8LEgcRDANBgkqhkiG
+9w0BAQsFAAOCAQEAmvd3MSWW/+at+7aSRzl/792QX4uJk2sFn9Iog8XI9VeHYx7S
+EPP6WOyLEoafPRO6DVsszj1J/0Zw2A5Gs7rj7h62wTiio9tnsm2j4DI2Vz263+8/
+BDjN8ZgJG9xbr5fpbWtYkTGv5hc7JrCQvkoFrxUfsbTpkS5SK/iQGQERDrlMR2Wg
+4X+VuTd8c6ZZa0CUFbKwsJ0KBfXktkyn439yIaG+zfzbtOT6Jh6mNOpU1j8Ln2OJ
+L0ool8Iz3pUyfdHzq1brDzoTiyfZrtbmq+/Acn6eYjxm9geE3B4OC7+SfRVfK3Km
+FVdVAEx5kquh4wsTSn7Sn7tFH1kpnUYpy6GMwg==
+-----END CERTIFICATE-----
diff --git a/scripts/biz-certs/Frank-EE.cnf b/scripts/biz-certs/Frank-EE.cnf
new file mode 100644
index 00000000..4fa64261
--- /dev/null
+++ b/scripts/biz-certs/Frank-EE.cnf
@@ -0,0 +1,15 @@
+
+[ req ]
+distinguished_name = req_dn
+x509_extensions = req_x509_ext
+prompt = no
+default_md = sha256
+
+[ req_dn ]
+CN = Test Certificate Frank EE
+
+[ req_x509_ext ]
+basicConstraints = CA:false
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always
+
diff --git a/scripts/biz-certs/Frank-EE.key b/scripts/biz-certs/Frank-EE.key
new file mode 100644
index 00000000..9c8c497d
--- /dev/null
+++ b/scripts/biz-certs/Frank-EE.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEowIBAAKCAQEA3W1VWDmwozts2rpm4vU3U/SJvaNRYUISNDiNsdj7rEekcoTR
+8J+MdgDjV/PEXv7xRleKUf/H+HRrG25hXL+xJSMTowWvSEuNaGB/gCFOhbFKLHAj
+KwvV1eMsstpF0oYSARjPpefF6BMhTHmqSmeT1zyqPFP0vOiyYpRbnTy28Ifkzxcs
+F+Z5EvMujqnvjLcP5AXOYVSDC7r0ZzpRbu3hcnr2ubBscGZIG6PynmP+xLnkSQs2
+b9gMaksBdgvRFSYJ5g1mcxr3zR4igZI9I4mSxqMbQowmJJSuWZzHIzyxteuD04RI
+PAjJvwA55/5LLrdVs3VqMlRpsUCetPXxfckxGwIDAQABAoIBACNDVzUest+8BgDr
+cJkyXiZTql/2E26+u/FvFDm/iY0NN8Y5GsoMTq04RPxryNksFraSGGgoqOsLd0c+
+E+lWadq1NFpg/GIyDgoSXBvGsh+edWaQUTl4wAw5CpRNKJN3YISmM+OC/sSPz1zD
+f3gr+KJtedrzr+Up1cbXQ6PN2ICDh++nInWn9ZMMfQ9ZPdZuX2Qhl8W7RN8S7hc4
+935HZ/f5dod7+4TdVIb/Lbxa0r4Kfz1FkYulyllL1DqYeJP0YzL3mrT79ZLUrbyK
+nBOhtG1eHfLOzlX7y5vVGWEN8dhK5HJqi//DHtgFpYOFU+x8YuWS5wqiYfqMWy4d
+883oUFECgYEA9jCjDGbbXuk5U3rL1ChOIAO7U0iVO3kFSLQSxbkwQpfUV9NCY6MN
+ZH0e0o1AFui8WTS76xO/riywbZHZ9OO3xfHODNO1Qt+k67m75mvW4hzlzOS9B+J7
+UATHOTyi/Cy3shI4W+FDyjxX9iNG8l+Bieu+7Fh/DeZNkJ3Ejnb3PwMCgYEA5kAX
+mdjExkCJHaBbdzWBydIW7NNbKmBPKeSs4zhhRB2BAbmnSG6Mu2KUm+u+5YIKN6o0
+r5OLhxo0k69LgyVD/+3NJ7fPmwGtsLRaeykShR+01g7PXCXW6EMbhyCTs8OcPfDn
+4yxoj67k3E4BBLtJI6pVRYVr+IEvZqAhUqUx/gkCgYEA8zE6b47PlyMmGNvNq8cg
+3akyC+RAXp5+5MHVZXI5RR88iIFNLKWuHh0nLHCR5c+D908Lbv10NPc6VRJlzu5/
+5E6n763Webf4707rWYQfof9P1iYCwV4t1+7Qai8HBbqav5IWEFUnJQiVD7TraZOE
+oBy73jbRU4a0Cm5+8wh71scCgYA2lDTD/DVQxVV7V1q3HFDitVFH3CX9Go1JYfJ1
+fhTYX6IH9akoq0Pi21Bc0XoTz0p6vXb1s6TcZqLV6zScJsZCsWzzIEgu9yvj+iyE
+i0zfj49/Ok1/C10w+09YLam1cAXmTOe62vkCLjQD4N2u8HI66RKDg0f/xSemTQj5
+HT2HeQKBgEZB0W4xdOPYU5lTzYmn3hPH/F8R5DismczNXpe5XOcle+IUPyMkNpJR
+xVy98muszdIhYnroQIBCHDEMDNnAP0OCCZ0PjcuObf+RYdJOEznxMxIB2g5BWGZV
+gCoEYWLFVJpS5mQZz6PdogjnudWVae116cAB6i7SAWqVste/+t+X
+-----END RSA PRIVATE KEY-----
diff --git a/scripts/biz-certs/Frank-EE.req b/scripts/biz-certs/Frank-EE.req
new file mode 100644
index 00000000..0c2466c0
--- /dev/null
+++ b/scripts/biz-certs/Frank-EE.req
@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIICaTCCAVECAQAwJDEiMCAGA1UEAxMZVGVzdCBDZXJ0aWZpY2F0ZSBGcmFuayBF
+RTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAN1tVVg5sKM7bNq6ZuL1
+N1P0ib2jUWFCEjQ4jbHY+6xHpHKE0fCfjHYA41fzxF7+8UZXilH/x/h0axtuYVy/
+sSUjE6MFr0hLjWhgf4AhToWxSixwIysL1dXjLLLaRdKGEgEYz6XnxegTIUx5qkpn
+k9c8qjxT9LzosmKUW508tvCH5M8XLBfmeRLzLo6p74y3D+QFzmFUgwu69Gc6UW7t
+4XJ69rmwbHBmSBuj8p5j/sS55EkLNm/YDGpLAXYL0RUmCeYNZnMa980eIoGSPSOJ
+ksajG0KMJiSUrlmcxyM8sbXrg9OESDwIyb8AOef+Sy63VbN1ajJUabFAnrT18X3J
+MRsCAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQCYUJd1QhqIZnNayZkb64fs1Zae
+10S80FKLSNbbqYrRwrIMvpEV3YUeamG0hCSs2lLC17m6NsRhEt48i9Hbag9yTxE6
+CFFxK8iQ8DM3Dnu9cUtJHnjkM1PYyCR0fMMBSciOyGLUSqJ/W3aSRY4R0ZgMlBnm
+9GLWxDAf+PBc3WWLRehwa7XnVcxg4u9b2gODn/b1on87icf6NvBPZGcJ34UD/qTt
+lkpHTdSNRzRxXngsyZaibzxCOBxCYszog5T+FHTQKG8SkKWM8XEtKg2mnF+1SkCF
+hWRvEE/H0NoJ+f3BU/wCpWeVAbY3nGz7ouzm0QKPFQ1rEGU1uIlrJueC+niL
+-----END CERTIFICATE REQUEST-----
diff --git a/scripts/biz-certs/Frank-Root.cer b/scripts/biz-certs/Frank-Root.cer
new file mode 100644
index 00000000..53f858ce
--- /dev/null
+++ b/scripts/biz-certs/Frank-Root.cer
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDHzCCAgegAwIBAgIJAJQ+3g5G47QhMA0GCSqGSIb3DQEBCwUAMCYxJDAiBgNV
+BAMTG1Rlc3QgQ2VydGlmaWNhdGUgRnJhbmsgUm9vdDAeFw0wODA0MjIxODMzNDZa
+Fw0wODA2MjExODMzNDZaMCYxJDAiBgNVBAMTG1Rlc3QgQ2VydGlmaWNhdGUgRnJh
+bmsgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOy5GeJ8pCtu
+S2QhidJecLQ8gpeDxUS6z075A8VIowtNOiywceeZLWNCcSG0YSYnHCyQCkCAtEb7
+mpTWHPPId8cd7CcbHqIKZNw7mhzmRVPy6+ZS1GQm9AXK3p7yUj2Gl+yxtfFXWCxz
+1FgAYiOSN7eyvkjLHmORqBv/UA19M+iLnPMjLKaQugy4J/6Zju0v2LqpPS8Xzh7t
+qjrP/1HDmjIRgBrzwibRcPhlGPx79k/GQwxQYWB1bjfQiuZYsVKoWMhMaHTcWUKa
+o4ZJNpBDZM7Gc62bYGuwlLITSr1MJtwgNZKmTAslunHx8SBf6fp56iVjZhqzB3eP
+szbwC/HL4EMCAwEAAaNQME4wDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQU5SaTKHT4
+FbLACDyd/UaXYm2kYmgwHwYDVR0jBBgwFoAU5SaTKHT4FbLACDyd/UaXYm2kYmgw
+DQYJKoZIhvcNAQELBQADggEBAI9S71UWpRbYuugjxjl217BTfOHuzayDEstEs/Bd
+0t9GoJZfj9zIiUWy8rJCSKyNP2uCdmvFPDrrXCRqFMoDcE6slqo2bm5gjxla0u7A
+ENdGW6xQg9fDC9wnDcFGGnTPciERfXeabv0nfeA+vVzNCOXkrfFdm9qo3P/WtKKg
+UTdug2CLRkZ3huILDzPANkwRCr7yJafD7QhTtFzca7VKtfttRDpd1ZAEmUNsgYET
+4hq3wrqLPlyFMWIYPDqbO9gwPn2bGjk+QzWVYtfksoq3++zcn4rxJeTQfafYqTXu
+11o9rTDgNBFcTOeM790LH+lYyFlyb2kPVIJj7R4x4hhl8RE=
+-----END CERTIFICATE-----
diff --git a/scripts/biz-certs/Frank-Root.cnf b/scripts/biz-certs/Frank-Root.cnf
new file mode 100644
index 00000000..56021ed7
--- /dev/null
+++ b/scripts/biz-certs/Frank-Root.cnf
@@ -0,0 +1,15 @@
+
+[ req ]
+distinguished_name = req_dn
+x509_extensions = req_x509_ext
+prompt = no
+default_md = sha256
+
+[ req_dn ]
+CN = Test Certificate Frank Root
+
+[ req_x509_ext ]
+basicConstraints = CA:true
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always
+
diff --git a/scripts/biz-certs/Frank-Root.key b/scripts/biz-certs/Frank-Root.key
new file mode 100644
index 00000000..ad4700e5
--- /dev/null
+++ b/scripts/biz-certs/Frank-Root.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpQIBAAKCAQEA7LkZ4nykK25LZCGJ0l5wtDyCl4PFRLrPTvkDxUijC006LLBx
+55ktY0JxIbRhJiccLJAKQIC0RvualNYc88h3xx3sJxseogpk3DuaHOZFU/Lr5lLU
+ZCb0BcrenvJSPYaX7LG18VdYLHPUWABiI5I3t7K+SMseY5GoG/9QDX0z6Iuc8yMs
+ppC6DLgn/pmO7S/Yuqk9LxfOHu2qOs//UcOaMhGAGvPCJtFw+GUY/Hv2T8ZDDFBh
+YHVuN9CK5lixUqhYyExodNxZQpqjhkk2kENkzsZzrZtga7CUshNKvUwm3CA1kqZM
+CyW6cfHxIF/p+nnqJWNmGrMHd4+zNvAL8cvgQwIDAQABAoIBAFOEkt9XfkxcY3j2
+ZDu2Wikc2C5ArU6sYgvIy03FbNDF9Gpj7iv53QuSG3v6ufPOBKCsSRGs1u3cQxOT
+3y8bYTb9FZ5OcSZWaHNTC/J6Q6d0o0nlm02ieKG6i4SkleNjIyK9KCX33QIB878A
+k59dLQ9AnuXr09LpRthp4YKA09mNCqFhTivsxJKswjoDbGeZHnz964f9yntuDqxP
+ROi+F371v67D1AYvk/BMRdA5G/CkbMLomgaQ8rf0sW4Wx9rqHm9xzMO62xe3ot7r
+hYByQmMO+6DGq4RpuoG5RdQLKACPdob2ZZ/fsRHUpjUMG4REKIMNMwmbWqbgk7te
+hWUCx6ECgYEA+Mw6FrdFej+Pob2xovOKIYJDg8dKcjj5TeNvPkEmmsHcV5Hhs8Dp
+x3h6GPLxHehw5fOBs88Y9ep6EUEE4xT1gBimBYbmt5u8jHWR92GMFnWhURWG6aMu
+XVhD5oLCE37i1j03q2I3Ax0MV5pIBwamcEyAKDNtFiEPm0voYY55POsCgYEA85Nk
+S+3MyF2yHRX+8kCqoW4Rh3kai7E/SvoQ9TwR2JCiS83gIuFs4CD8oASYG4A9oe0P
+GuB9sWZjdUC0kq248WzXNdnKglWuhQBNnjjtQqRUNFVnH0Kupdo+jnELqIwq5Is1
+UF1oq+7c9p455H+TpmiUWAYSA3iFbFn83487NAkCgYEAgqZETs95BaRBGa9Si/6V
+59jO+XF675ZpnHQ1Y5y02Am7WqT5v/orCZuDinxxD8KTHr4Lu0+ijOjPpyXcmh7U
+eKr46+gWWg7HKX9H4n9wIA8vYjQKv7/4Rf5m0bKSlchI+DX3eOE/gDwN0ibrcf0V
+A924YuP2getklal741b85XcCgYEA7XVMuyUqlk+Zu/dco6ldb6FRn4P12CfFL4AY
+liuorjtarZIYp4iizuH5xrqT24OrEjh8mFQw1Yie/4lEQRbxjRPxvwMDBQso52rD
+QLP4whZYLOjxbq1gfDoG8HDOz9NOYZ5BLIbT64Ijkp3wjI2/UOT1cdcBKrcNQ/N6
+riwBqJkCgYEAtCk/Lv5d8ZPtqnIb1yMXersoNpg+vZdBBD6esQ3/tPvIgfPJm5jb
+SmmoCJBCOuTMH79KzsP1/wEq4LAWpUflf9AW70MEVg+A58ixITuimsyHvQOb2EAv
+vYvVHW3yDG7p+gS+KEIvJNo2Tf1MQG892EHrOFg1m4Nnnkwi0IZrFr0=
+-----END RSA PRIVATE KEY-----
diff --git a/scripts/biz-certs/Frank-Root.req b/scripts/biz-certs/Frank-Root.req
new file mode 100644
index 00000000..2fe82ab6
--- /dev/null
+++ b/scripts/biz-certs/Frank-Root.req
@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIICazCCAVMCAQAwJjEkMCIGA1UEAxMbVGVzdCBDZXJ0aWZpY2F0ZSBGcmFuayBS
+b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7LkZ4nykK25LZCGJ
+0l5wtDyCl4PFRLrPTvkDxUijC006LLBx55ktY0JxIbRhJiccLJAKQIC0RvualNYc
+88h3xx3sJxseogpk3DuaHOZFU/Lr5lLUZCb0BcrenvJSPYaX7LG18VdYLHPUWABi
+I5I3t7K+SMseY5GoG/9QDX0z6Iuc8yMsppC6DLgn/pmO7S/Yuqk9LxfOHu2qOs//
+UcOaMhGAGvPCJtFw+GUY/Hv2T8ZDDFBhYHVuN9CK5lixUqhYyExodNxZQpqjhkk2
+kENkzsZzrZtga7CUshNKvUwm3CA1kqZMCyW6cfHxIF/p+nnqJWNmGrMHd4+zNvAL
+8cvgQwIDAQABoAAwDQYJKoZIhvcNAQELBQADggEBACAdnNeB2hfa6g7miAISjqwC
+QYJegS1b2hqrtN0GjJ13Owcf5r6unlWT8X22G3RSZAO4TSFFlTGd3EC2RxQRjCw0
+RIF0QYl632mGDjmXQ/BVDOdqXL7FbAvs36Y0IxeBGN8D5kcwkQjIfrLijFAsAWny
+MOZqZylOklAqclGNhTjTNareiKszIcqq6tOQ//RHZga1mv3/z4XqVzZ8BXXtQg0E
+Eo73jsL2ilT+PxyRCEvpGxsfJU4xr4r3msSkLxDTlxDY2w5f0hx4oGWZ0qKwX2+9
++4rZDs8aNKKpFC31f76uc5GpIwf3TzP7HNYx0W7znfocIBpz8rjdwV5xiX+bMBA=
+-----END CERTIFICATE REQUEST-----
diff --git a/scripts/biz-certs/Frank-Root.srl b/scripts/biz-certs/Frank-Root.srl
new file mode 100644
index 00000000..478b2e55
--- /dev/null
+++ b/scripts/biz-certs/Frank-Root.srl
@@ -0,0 +1 @@
+CA8EEB8857C3D04C
diff --git a/scripts/biz-certs/Ginny-CA.cer b/scripts/biz-certs/Ginny-CA.cer
new file mode 100644
index 00000000..2fc5b926
--- /dev/null
+++ b/scripts/biz-certs/Ginny-CA.cer
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDHTCCAgWgAwIBAgIJALTKl8dxTDdLMA0GCSqGSIb3DQEBCwUAMCYxJDAiBgNV
+BAMTG1Rlc3QgQ2VydGlmaWNhdGUgR2lubnkgUm9vdDAeFw0wODA0MjIxODMzNDZa
+Fw0wODA1MjIxODMzNDZaMCQxIjAgBgNVBAMTGVRlc3QgQ2VydGlmaWNhdGUgR2lu
+bnkgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDueidWFU++2YuK
+aT8Lp+y67Miy1FgO1UNxyCevP880EoJ6tqDVRAczLh3uDJKhZ5pt92+/m6PPqpUq
+QtJQahjk55SRQQisnqC7dhkCnF7pXQPR/qPFzimtgkLXielt8GhvZSrqdxDdDnnL
+xGzW5zrgxW6+KhLRl9jgK81E1EIr8h2YxI+LVbCy4YzcwLWHmgXlY0cIZTiDpR1p
+TM30wQ5AGdjQE2IRHk7M5uG7KqDmVdMX+pG5fmma/ir9jSeKXGUV2BPWmsh5sQhn
+DTrZ/qy00q48uzPBCKiOnm1Rd6ygNAohDcZYeJGZ3naqEeCPpowxTg2p7IocXHEO
+LmBo543RAgMBAAGjUDBOMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFAi99B5feyZ8
+vA50GqPZAVnvFT2NMB8GA1UdIwQYMBaAFGMacgDTvnPGawQ5u/vXgL9dHca6MA0G
+CSqGSIb3DQEBCwUAA4IBAQCwjs/inhO/Mbl95K6OdHySbRwYw+oRXWQk8JLV9Pgo
+uOnNobwDw36mIi4p0HUv1pXEq2JXK7rENhSYNvzh+Bz2+kSdUJVY0tdo8NdFrr35
+L0qyvXe4X9qQWhqwzce1NKnCzG90qVPXvIwHetUeZau4TX2vzyV8li17fPJL+Y/g
+vD2rc6Sw4FP3AUtOnsPVbsNHdRLSAEBSfVHakMp+fcfpzG11Yb86kOa5q9mM7Ufn
+rBv1IGtznggV7igt6+jPSrskvPNFHrTBzyqjojLWdVHF9JSBebXYtuJSaOWRud1j
+1vMXnhYzpgoWujdiZN/8PfKdCXBfk9nGMgg1DctG43rH
+-----END CERTIFICATE-----
diff --git a/scripts/biz-certs/Ginny-CA.cnf b/scripts/biz-certs/Ginny-CA.cnf
new file mode 100644
index 00000000..af1e067c
--- /dev/null
+++ b/scripts/biz-certs/Ginny-CA.cnf
@@ -0,0 +1,15 @@
+
+[ req ]
+distinguished_name = req_dn
+x509_extensions = req_x509_ext
+prompt = no
+default_md = sha256
+
+[ req_dn ]
+CN = Test Certificate Ginny CA
+
+[ req_x509_ext ]
+basicConstraints = CA:true
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always
+
diff --git a/scripts/biz-certs/Ginny-CA.key b/scripts/biz-certs/Ginny-CA.key
new file mode 100644
index 00000000..281a45b8
--- /dev/null
+++ b/scripts/biz-certs/Ginny-CA.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpQIBAAKCAQEA7nonVhVPvtmLimk/C6fsuuzIstRYDtVDccgnrz/PNBKCerag
+1UQHMy4d7gySoWeabfdvv5ujz6qVKkLSUGoY5OeUkUEIrJ6gu3YZApxe6V0D0f6j
+xc4prYJC14npbfBob2Uq6ncQ3Q55y8Rs1uc64MVuvioS0ZfY4CvNRNRCK/IdmMSP
+i1WwsuGM3MC1h5oF5WNHCGU4g6UdaUzN9MEOQBnY0BNiER5OzObhuyqg5lXTF/qR
+uX5pmv4q/Y0nilxlFdgT1prIebEIZw062f6stNKuPLszwQiojp5tUXesoDQKIQ3G
+WHiRmd52qhHgj6aMMU4NqeyKHFxxDi5gaOeN0QIDAQABAoIBAQDTtNWe8iRtRSs/
+oNc7PcRG3VX+i8vwvxq0s/+m8Hq9u4Dh96coLNBHezVO0xKI/zR1Uyh9bWorPUBW
+2CNlCAs5iuy1Voqg0+HVCa6CRtdrTAvMLMavH6qYQf+c4O29j6Lm4WUL6M+rruIp
+JyOIVJZMXHlHkIpMTwVVXQ1JgTWNVBh82/Ze2tjnHvKOmqLDnjoqbPlY3jmJjHh/
+A5Ha0aF9RoMUzkgb38LARgIxZ5jrLPoxdjvOP3LXCBUZzVqNx1+sdIMX/Yuq6Kmp
+NqKC3w1ZL24nGIPvesMX5ujITK0Yej9xIh0VMccudVNpUmAUA9v12cfvVPk4kJz/
+sAAj8DnBAoGBAPpzbV0NiDjftD8sGiznIhRVGrq4FTqVSk+Z2QOu34v01M4FotPA
+9VjZx5uBflqU6C7foMbhSDai0wM69MLLKgcahA7wAbc38J/kyHi9EjQCb1/sbyg9
+gbG768fj0wBFpwb6dEdDeF+Sm6MTAjMQgVq4kwyflSBKbVWG5BnSD4/FAoGBAPPC
+z42dWuO5qCXe6shZN5aQ3jTiORC/Py3/6AU06o3lyPBpGkYkMcReaWoiC43IHjjG
+j7KAOtdCdxnh8tvahZx/6Y4uz2bdKbo4T01cpf92k+vqXEtnXz75O/ZydZpuaDo+
+Q/cw9JhSXEBHiLpnqpsDu2Inw/0cvvIPbQ4gfvqdAoGADZfYNrW2UAfsO4WEQi2l
+Tt8znTDCjjRuHRXnjmieX3VBW5E4vi954YGocMs9dWMhmvGuQz0U80oxE7rOcAgg
+1tPcmQbzwOL7X2JGcy8n3sTHELi/a7qy4Fenu2ilGh2trBZJ21hRHzbQ1bABbY4W
+xzq/WG8M4/zGJF824CPjjlUCgYEAlQ9v9F1hExiY5m+mitVj1MLJ3vTniIIqlGqE
+64osVJFLixf6ZSIE/NvvAmPHRPA26ukhPjqDwNZ4Fm/BHwhF5CmkHLorQe/EcIe2
+lswtBkbwtbcesU2JRO0L6eycVc9mFRe2YBaju/HBT91uku6JuTlTAPboNoO5kDQ2
+sAjXHVECgYEAggkANM+Kpg6JHDcQqJ6E0+d1vP0G8RPJO6l3KD40ZAqxp6XFg3Rs
+xFpsTtT7vqUeFqZ5V0zyY52TQcBCfYBWTH1JGv+Fw9YCa5AD4NQ0KEw0/wSaptId
+cH94wz9GFDpkXlZznHw0cuoQNFgmg2Djl3DjdFoAvlkdVf4m2I8NET0=
+-----END RSA PRIVATE KEY-----
diff --git a/scripts/biz-certs/Ginny-CA.req b/scripts/biz-certs/Ginny-CA.req
new file mode 100644
index 00000000..a88f0853
--- /dev/null
+++ b/scripts/biz-certs/Ginny-CA.req
@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIICaTCCAVECAQAwJDEiMCAGA1UEAxMZVGVzdCBDZXJ0aWZpY2F0ZSBHaW5ueSBD
+QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAO56J1YVT77Zi4ppPwun
+7LrsyLLUWA7VQ3HIJ68/zzQSgnq2oNVEBzMuHe4MkqFnmm33b7+bo8+qlSpC0lBq
+GOTnlJFBCKyeoLt2GQKcXuldA9H+o8XOKa2CQteJ6W3waG9lKup3EN0OecvEbNbn
+OuDFbr4qEtGX2OArzUTUQivyHZjEj4tVsLLhjNzAtYeaBeVjRwhlOIOlHWlMzfTB
+DkAZ2NATYhEeTszm4bsqoOZV0xf6kbl+aZr+Kv2NJ4pcZRXYE9aayHmxCGcNOtn+
+rLTSrjy7M8EIqI6ebVF3rKA0CiENxlh4kZnedqoR4I+mjDFODansihxccQ4uYGjn
+jdECAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQADAZr7YcKH2zPAr9gSU0tUTQCK
+fnOJwgFNJDFuQpwA4PMQhZSRss1BB8vElnrVACCWipPyvkiJF3pu28JCveoVf7Pt
+6RyY2dtvMuyyBWDWXiaqVWd1SqflK8sUwf3+Rw9ZtJgX8IxAI7RTCKqSsBzCtXmu
+LnixCXknTdVeyBhaCR7w6o/Azwpktxq3s3Yx54Q3EhLfzcdqXxt56G1/oZ37q2h5
+JlFRXqnd4qH9q3YWuUlC72ncWzGO9HPyn5NXXVBMDTsEB8jUz52FPFAeE75AF/x/
+PQNNH7sOeU8y8B/QFxLoJIR1mfv1xrAD8aYOgzOGuv0hv60yQ8ed6m70MxpE
+-----END CERTIFICATE REQUEST-----
diff --git a/scripts/biz-certs/Ginny-CA.srl b/scripts/biz-certs/Ginny-CA.srl
new file mode 100644
index 00000000..81c8c803
--- /dev/null
+++ b/scripts/biz-certs/Ginny-CA.srl
@@ -0,0 +1 @@
+BF28F27B89252DB3
diff --git a/scripts/biz-certs/Ginny-EE.cer b/scripts/biz-certs/Ginny-EE.cer
new file mode 100644
index 00000000..914b2380
--- /dev/null
+++ b/scripts/biz-certs/Ginny-EE.cer
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDGDCCAgCgAwIBAgIJAL8o8nuJJS2zMA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV
+BAMTGVRlc3QgQ2VydGlmaWNhdGUgR2lubnkgQ0EwHhcNMDgwNDIyMTgzMzQ3WhcN
+MDgwNTIyMTgzMzQ3WjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEdpbm55
+IEVFMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo373ejcZ6WwnTj37
+FRnRx1+MJzfCQmslMRveBP2WjbiGP9Oq4O5+snORuDG6uIL60lsEOW48o8ONGtgO
+k0URC/iWlI6+dP1NOcfq25Vn3FSD/HiRj2SoaBmZa13wGxzDtOiXwH6R6kYrQOqs
+HWqLHGok5OnphEzVVzH4urnXB5ZWDV7n2yOQ2TPiBsJuYgNLCQn3sAVSepm8Occ5
+jkCQF7zjdPlnnxt/cKbow+JrCIX+B1B16Qmuk6PF3z2zdoTDyyUrn4ETLohzCnHg
+5pv8EOU9NhzUZHUIloZI6NhE25a865fAoxMh+zmkqv2SG+/mU65Ry4nuoVRqyFbi
+pOSanQIDAQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBSAT1qp1gd5Bg2yTEdL
+pA6OcdMKhTAfBgNVHSMEGDAWgBQIvfQeX3smfLwOdBqj2QFZ7xU9jTANBgkqhkiG
+9w0BAQsFAAOCAQEAPL5k5dPyAK+484jhNuruSowr7/c3mzFKROnMhWrlxVopnYlt
+0hUoYxgmZBjts2o/VtoTkou4Gh1nvb6lb+ByNwLVwTFVFp/ryKLggdlIS1zxB2L/
+m2xlQ3DFcetzNXp1HdG7bsvPNJiulHNpnqJWyOHepYnoaxsAcacOFJtcv33oNeyw
+62TL356k6UbehuIxrqLZrdAAormuxwCQP54lOSceO2hzbbNfjua/WUIEtes/7dXw
+O/NuQmtXyCPXkKXOm/W64kRqXd66a/HNNdIAVkWs9zAragYhlRJEefTACi/IulUW
+KVXwBlcpAa2uj1bXOQNRGpPDq6K17U1St9R/qg==
+-----END CERTIFICATE-----
diff --git a/scripts/biz-certs/Ginny-EE.cnf b/scripts/biz-certs/Ginny-EE.cnf
new file mode 100644
index 00000000..00b14052
--- /dev/null
+++ b/scripts/biz-certs/Ginny-EE.cnf
@@ -0,0 +1,15 @@
+
+[ req ]
+distinguished_name = req_dn
+x509_extensions = req_x509_ext
+prompt = no
+default_md = sha256
+
+[ req_dn ]
+CN = Test Certificate Ginny EE
+
+[ req_x509_ext ]
+basicConstraints = CA:false
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always
+
diff --git a/scripts/biz-certs/Ginny-EE.key b/scripts/biz-certs/Ginny-EE.key
new file mode 100644
index 00000000..1984ff44
--- /dev/null
+++ b/scripts/biz-certs/Ginny-EE.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEowIBAAKCAQEAo373ejcZ6WwnTj37FRnRx1+MJzfCQmslMRveBP2WjbiGP9Oq
+4O5+snORuDG6uIL60lsEOW48o8ONGtgOk0URC/iWlI6+dP1NOcfq25Vn3FSD/HiR
+j2SoaBmZa13wGxzDtOiXwH6R6kYrQOqsHWqLHGok5OnphEzVVzH4urnXB5ZWDV7n
+2yOQ2TPiBsJuYgNLCQn3sAVSepm8Occ5jkCQF7zjdPlnnxt/cKbow+JrCIX+B1B1
+6Qmuk6PF3z2zdoTDyyUrn4ETLohzCnHg5pv8EOU9NhzUZHUIloZI6NhE25a865fA
+oxMh+zmkqv2SG+/mU65Ry4nuoVRqyFbipOSanQIDAQABAoIBAQCdkYr+vUX6waIr
+9O4byvNzO3F+hm1wx4RjjODvXFqRoSm5L8z61L9ESr9AjqTOmGUVAGTU2JoWlitS
+mLGLWz/vkpfE+sExTMH1kueU0qvzG3zMgIKAeNkY4rsKT9FMv+8ZViSSfykvaIrd
+GI3iF8GUE/QUrh7Aw6/ERkPZ6asEAmOWJyQMxxLzdkcZfYSgKORmqAieD9r5jY4e
+UD3++GcmdhbVK59A6xkL3LUg9L4zGDJ0BuHLIv6wBtV9qA0IGGUgkZqZX9j1Ddc9
+PbItrwqC3OLpNgQELsG5k/vI20TPzC/i1B63axc4gVfDSoQplqAnQN8Oug9gbo4Q
+bYOcpLO9AoGBANXyG81JO0ZrAiIVd+Z6EkL2Y3TIeP2WABBm3Fa5t6MdSY4K1mJA
+SI2zEprgLNVC6+nnV2d5x9jIkHr2wZ3uj5GbHfFB/b2FEcg2OWdIjvN8mcNOXeuH
+e/AMfuTN1zUNytklgsDPblXYnhxRZgDxfJivu6WYVHcH1CEp26kcL2x3AoGBAMOi
+MSr4IYe7X4knOUOZkGDTfy26PHwW1CB3LGIpoPjyoYzjh8avvk9YAj7coQbkNq1l
+tbGroi3IXJhyWIb4OEMpi1fgUWkri6+HwSMOnywqivtLBgRShd+tKJfEcwJDGSPD
+uy8IChUnbrt0D9uxxfOoQ7GMOSrSukQBa4jvLHqLAoGAXW4ZjhDI/fuFNvVBIzlz
++CI5VKqni7aR2JfS6Vy5QVZs5Mb+0HFaPedR3KjBa3CKLd+FX/7is10DG2/fJeUk
+dWXUMaOr97PBDDoB34TkSJjFXXE/urez/CS41Zq+vMCFMUccTq9Hc93hTmSNsyPC
+UbuMqshXOpQEo2bwMm3ImAkCgYBfO7JRp46zA1yjaIuww62L5QkRGordIUPMNhdO
+BdPNvFc2PYDYEK9E8qPNNBvTPf778/o57kI5pUKmF2vO8EB7OVsSwSkAWGlcXmp/
+hVuo5WDYqZHZQs7WrvWGw+P0ovM2/M4/O9ukpph5+irKGMUzMqMZaBhgJ0rzVfmi
+JEPztwKBgFewP2zyOF53Y5PhAAsl2SzX+28dJ3trnhAIaZVi9aUaL6qgn1izpKGA
+OBhQZFNL7RE3A8VOF6264gTjkeb/4heYFV4KhDzVkDeTat0XX/AMahNWeyoV7oLh
+8mVEQbvLbSogvIXUF3fufU0rV66Ts7KiIlZW2VyVaNMTp1Ljpdlk
+-----END RSA PRIVATE KEY-----
diff --git a/scripts/biz-certs/Ginny-EE.req b/scripts/biz-certs/Ginny-EE.req
new file mode 100644
index 00000000..68a07f53
--- /dev/null
+++ b/scripts/biz-certs/Ginny-EE.req
@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIICaTCCAVECAQAwJDEiMCAGA1UEAxMZVGVzdCBDZXJ0aWZpY2F0ZSBHaW5ueSBF
+RTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKN+93o3GelsJ049+xUZ
+0cdfjCc3wkJrJTEb3gT9lo24hj/TquDufrJzkbgxuriC+tJbBDluPKPDjRrYDpNF
+EQv4lpSOvnT9TTnH6tuVZ9xUg/x4kY9kqGgZmWtd8Bscw7Tol8B+kepGK0DqrB1q
+ixxqJOTp6YRM1Vcx+Lq51weWVg1e59sjkNkz4gbCbmIDSwkJ97AFUnqZvDnHOY5A
+kBe843T5Z58bf3Cm6MPiawiF/gdQdekJrpOjxd89s3aEw8slK5+BEy6Icwpx4Oab
+/BDlPTYc1GR1CJaGSOjYRNuWvOuXwKMTIfs5pKr9khvv5lOuUcuJ7qFUashW4qTk
+mp0CAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQBhD/m/iQVsTr7ehYHe+dnCiCRo
+cSqwS+gTqgXmDf3iKAu3uK/PHMH9K5sKo6PRkTxsqFLeWzcBnLnClgwpIBavTgcG
+Z7kSwq7JWUbmL+ZamVUMOrIdbsIX5NyDFGjBfi/W3ueFeh6n462vkedq/2D9fnaJ
+O0tD7NQDDKVkZEWEfk1bbw/Ic6VLF9zZpk3ONy6b1QDYL7t3pD1KMASTynbsIsHX
+K/G7E8faFVQH6XmUi942NCoZSK8x/O80WrZNfP4lFYJCaw1FmuEBZxQ7BOBIXlM6
+aXIzvNMxvu8TJvSJYyAwO8inXAcX/AzKTjrtjqW6U1iZC/0AmvMIrXGa0nOD
+-----END CERTIFICATE REQUEST-----
diff --git a/scripts/biz-certs/Ginny-Root.cer b/scripts/biz-certs/Ginny-Root.cer
new file mode 100644
index 00000000..1ff8ce43
--- /dev/null
+++ b/scripts/biz-certs/Ginny-Root.cer
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDHzCCAgegAwIBAgIJAMsaa4Hrxa8ZMA0GCSqGSIb3DQEBCwUAMCYxJDAiBgNV
+BAMTG1Rlc3QgQ2VydGlmaWNhdGUgR2lubnkgUm9vdDAeFw0wODA0MjIxODMzNDZa
+Fw0wODA2MjExODMzNDZaMCYxJDAiBgNVBAMTG1Rlc3QgQ2VydGlmaWNhdGUgR2lu
+bnkgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAO1GzDMYa/xv
+byra6dpjKYtfajaNEdUZWkJhlu4HcqiuDflutby82+C3FPwHKmfoXOHgvcmac7kO
+49D+DDoWE4p72dAhCKuWb3h6rh1r9Xpl7HaHxoH4KsYT74dOKMu/DhMR7pZl9Tkr
+BNYTAEE/qTMFGUQ1JCuwZ+aGRUgzDIiVJ3DBuK0nXHBbOs7Gd/jas/1+lNSsh3lg
+RaebLNe0mwsw62TW7zqUjMq/7+Xb9ZWJLPN26nTfq2pyLgFVx+xpMowhaqdEOXKj
+VEaCT35cZGydvWIvad4xL/vuY6L0dNMAhTOOE2DzLw6amae4wkvNTwL5krJrtoJD
+HpLoFYKZ9vUCAwEAAaNQME4wDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUYxpyANO+
+c8ZrBDm7+9eAv10dxrowHwYDVR0jBBgwFoAUYxpyANO+c8ZrBDm7+9eAv10dxrow
+DQYJKoZIhvcNAQELBQADggEBAEZs2CkY+8xGs+p37vmdkBehiE2u82tz7JgrYv+2
+fddeUykzAkOpK+RCi7GHp+VvE0BGk6vbP04OdpzSq9edGMwq+brGcV5cakJdryfT
+RtCfXaUqj3MhU3OirNlVOMS6xIM0QeGCOCr8i7jrr70v5BePRjCeBkHQ+NzVCARS
+xIEoyxUEmbz51OZ9gPqjOi3Y13+UyyvT5nkBBz+joUElA8vbEt5Rzn7n/PB28TTI
+nq6O0V5sJdNJuzLmQPegbNi6lMgn70buownGtCGhDkPtE/h/0cM/yMRTxdS+G5P4
+YQrWFgxlEtezn3wNd/k0bdAi9MctbGSBflRLJxARjXWN4p8=
+-----END CERTIFICATE-----
diff --git a/scripts/biz-certs/Ginny-Root.cnf b/scripts/biz-certs/Ginny-Root.cnf
new file mode 100644
index 00000000..b82a758c
--- /dev/null
+++ b/scripts/biz-certs/Ginny-Root.cnf
@@ -0,0 +1,15 @@
+
+[ req ]
+distinguished_name = req_dn
+x509_extensions = req_x509_ext
+prompt = no
+default_md = sha256
+
+[ req_dn ]
+CN = Test Certificate Ginny Root
+
+[ req_x509_ext ]
+basicConstraints = CA:true
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always
+
diff --git a/scripts/biz-certs/Ginny-Root.key b/scripts/biz-certs/Ginny-Root.key
new file mode 100644
index 00000000..710f4817
--- /dev/null
+++ b/scripts/biz-certs/Ginny-Root.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpQIBAAKCAQEA7UbMMxhr/G9vKtrp2mMpi19qNo0R1RlaQmGW7gdyqK4N+W61
+vLzb4LcU/AcqZ+hc4eC9yZpzuQ7j0P4MOhYTinvZ0CEIq5ZveHquHWv1emXsdofG
+gfgqxhPvh04oy78OExHulmX1OSsE1hMAQT+pMwUZRDUkK7Bn5oZFSDMMiJUncMG4
+rSdccFs6zsZ3+Nqz/X6U1KyHeWBFp5ss17SbCzDrZNbvOpSMyr/v5dv1lYks83bq
+dN+ranIuAVXH7GkyjCFqp0Q5cqNURoJPflxkbJ29Yi9p3jEv++5jovR00wCFM44T
+YPMvDpqZp7jCS81PAvmSsmu2gkMekugVgpn29QIDAQABAoIBAQDqzrAPNHDQvBoA
+B+l6Y71eHktGtq3Z+5/VpyusXJR8FtrfZ07T+vWA2M0cZ57wewNHyJcoJf+1N+X9
+ERtadDRcTBoNnFMvMs0XJhieJxMjUDAEUHMCdWsm392fQZqfnm84MfuwvC9Dpq2/
+h8gtyekQA1CwrgIgdg8sEt4HB/W0RjaOa4uFamu9es4veMRx79Y/Fj1DTuROmFlx
+ZdkPfTIJBs8qrTAKG1xYfky6tSDYwl27CL/pLwwHmXAB4kUwZ1V8KWGtZCuoFdwz
+6RIpK6go7MVHA6/MzMDIhbHPRf4fDKlj24omVrddwUNXub3QQ3bTumbloqZJnKWQ
+ZXoIp4kVAoGBAPmLbw5sz/25Y+Z1I3UWjyWCvlcfAXKkpIj4Nf9rJGo7HbLRbkEN
+706fo5Aa/k/C54plrpdkqt/XV4CvGAASpYnneoDIHiF12UYurH4OuprFmBNHKU1t
+l63eo8iOrou46TQLIPg4IuUsgWG0XSzvPR+juvecNodknZsXrOFU+HyTAoGBAPNq
+HtNo3jxSk7u+ZxygERjIvTdQGsBGUDijYe5UYp4OdVNbKbPtqEjOjoU3aYpnz0Ju
+rx4QSQw8d75JDAt4+alpMuRl0Hovwh+062nPu50Ft6NXPlc0b+niDo4AhI5apUJO
+ZjDBYkiMEr+kVEVexMYtN0sCJkeLXnVJba4Fn3tXAoGBAOtaeEmQkrHn0bKfM+vQ
+dP2Zy877LTBk29Fa2AKnmFagnqfyIhw0+kibA3Z8HvI3Do1WzU134jjvLlXtzaLz
+8zCXItCm7NP+BAfPKVxSo+gpB/7WlLuz6uRPIQWcnD6nDTrKbDPvLeobCYOOynoA
+wRNAJqw1prAXUxXdRG3Y5+sFAoGATrL/1nBwceZs92V/JwUlofK9IpYWoBXbuAQz
+FIBaBio8ir/NwuvS3f9SmwWobORVYXAx1DGFvJwMRwyNBWSOq9RkbO3yMp8gT2oK
+NwK/8Ou5TOlXMZC1olPBSu4l7XSnO8HnTlon8bbAFRAHYwpZ6o0R9IF0aOtJlfgw
+qvQMdS8CgYEA3dkRKJ8ma/GlheI6ylyt727cVCKnMXLV0GQwx4xVGzffIGcnUj4A
+8cbTBgBo/3aoZOJhqy6Hz85DKQon1FztE2hNR8Uhgjf8an3nbNzFaT3XkqbC1uUa
+bZZC1UNB/NA7wH6xJIRUFCYxLjw+L1u6vi6/vOtM0oEAmO1f1+7p3Nc=
+-----END RSA PRIVATE KEY-----
diff --git a/scripts/biz-certs/Ginny-Root.req b/scripts/biz-certs/Ginny-Root.req
new file mode 100644
index 00000000..a7da99d4
--- /dev/null
+++ b/scripts/biz-certs/Ginny-Root.req
@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIICazCCAVMCAQAwJjEkMCIGA1UEAxMbVGVzdCBDZXJ0aWZpY2F0ZSBHaW5ueSBS
+b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7UbMMxhr/G9vKtrp
+2mMpi19qNo0R1RlaQmGW7gdyqK4N+W61vLzb4LcU/AcqZ+hc4eC9yZpzuQ7j0P4M
+OhYTinvZ0CEIq5ZveHquHWv1emXsdofGgfgqxhPvh04oy78OExHulmX1OSsE1hMA
+QT+pMwUZRDUkK7Bn5oZFSDMMiJUncMG4rSdccFs6zsZ3+Nqz/X6U1KyHeWBFp5ss
+17SbCzDrZNbvOpSMyr/v5dv1lYks83bqdN+ranIuAVXH7GkyjCFqp0Q5cqNURoJP
+flxkbJ29Yi9p3jEv++5jovR00wCFM44TYPMvDpqZp7jCS81PAvmSsmu2gkMekugV
+gpn29QIDAQABoAAwDQYJKoZIhvcNAQELBQADggEBAJSgC0WFchzuVGRYfsZuf2tR
+weEZUFO+cyRIqi9nkjVDNZHmkla5PcM6/1GumpvIxNOBur9HYwVqnmImXrgG4cMG
+rlB2KXa4d545o/83uix8u3V+DDHcWGWumptr1N620kqCFdcs52S6/0+eqSh+OVNY
+FdPDN9t06ou+Bp2N8Wz78kDnkukMXFLLNIvLHkp+REkUOlQmqt+XB+NdZWjVu3ET
+LstFkYDkXMV3A9J8hufkMC7USRGj2hv2McMv2Qh0t1W/6gPfaFyr2EVgbrRME6/C
+97x+ZRbM/MwcCJbXR+57Lh5FFopsxeT0NwddSApBdAo1ESPIrCyc3JFxi5j1wlA=
+-----END CERTIFICATE REQUEST-----
diff --git a/scripts/biz-certs/Ginny-Root.srl b/scripts/biz-certs/Ginny-Root.srl
new file mode 100644
index 00000000..fe0bafc3
--- /dev/null
+++ b/scripts/biz-certs/Ginny-Root.srl
@@ -0,0 +1 @@
+B4CA97C7714C374B
diff --git a/scripts/biz-certs/Harry-CA.cer b/scripts/biz-certs/Harry-CA.cer
new file mode 100644
index 00000000..de4ab580
--- /dev/null
+++ b/scripts/biz-certs/Harry-CA.cer
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDHTCCAgWgAwIBAgIJAPg07MgChQ7wMA0GCSqGSIb3DQEBCwUAMCYxJDAiBgNV
+BAMTG1Rlc3QgQ2VydGlmaWNhdGUgSGFycnkgUm9vdDAeFw0wODA0MjIxODMzNDda
+Fw0wODA1MjIxODMzNDdaMCQxIjAgBgNVBAMTGVRlc3QgQ2VydGlmaWNhdGUgSGFy
+cnkgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC94Wvpn36QVBts
+pOtt6gva7Zd4CP+b8cEsM4LGW7AEt+jSSic0xDI/WrQI5Rjtam0j6G5039bmtV6A
+Xyio9jK7QHnzgMmg82b4TDa4ary0XR5IZNPWK4pSOqzJ7aZlLxm52Nm+NfSd/5/e
+75Gi3dPiT+icQH1oR/oRQeOnE/rBXBmviRN5JlIe8e1E0fTB+vXOpd7o5g9sPdT+
+jYKcig7Y0xvjGhGK5s1EhjJXiVB0vpoOjmv5LIjYypsQjkgqNxM+nKzCs44W5m8S
+Z3M3/ILcn64UW36uBSCLInqHKEI8rJx3Se60/xBJnbNpD62nWhz2vz+egwQIXKOG
+tTVlGPelAgMBAAGjUDBOMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFNGU/Ua48bNX
+Sn5MzBo+LIsg4Cu7MB8GA1UdIwQYMBaAFG2UphsbenSKgdNpEONxXczUln1cMA0G
+CSqGSIb3DQEBCwUAA4IBAQATDPW1fUAsul8bCI3jiX47HXP+FulnfNZfq2JF0gV8
+Xalo3BHDP0GKsW5xYMQV20gsICrv1DL86RIdm0d1ZMHQa748DWrtVNBM08FzliMR
+Lg6hM9+p3zjAzlMVesyvDRnaWx4cWUlaTxIqQXJ39lpye65xh0b3aBDdc16u8S6f
+0pGELejeNVhiZ0tc7/t/xmVOQ3VlnfpT3P2cjqkMgxMo7m59SXE50AFyg7Mb4+oM
+CpjUQZgPCO7hdrfFwX59YXsEsPMWkHQiz6J3mQUkV6oWCd2ljFbz7C/fzi1QcYng
+eWNnM/U62EfDSBLDmjm6B7JSZch0/caNgYLjLxXIMV6X
+-----END CERTIFICATE-----
diff --git a/scripts/biz-certs/Harry-CA.cnf b/scripts/biz-certs/Harry-CA.cnf
new file mode 100644
index 00000000..903a9172
--- /dev/null
+++ b/scripts/biz-certs/Harry-CA.cnf
@@ -0,0 +1,15 @@
+
+[ req ]
+distinguished_name = req_dn
+x509_extensions = req_x509_ext
+prompt = no
+default_md = sha256
+
+[ req_dn ]
+CN = Test Certificate Harry CA
+
+[ req_x509_ext ]
+basicConstraints = CA:true
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always
+
diff --git a/scripts/biz-certs/Harry-CA.key b/scripts/biz-certs/Harry-CA.key
new file mode 100644
index 00000000..6bd1d298
--- /dev/null
+++ b/scripts/biz-certs/Harry-CA.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAveFr6Z9+kFQbbKTrbeoL2u2XeAj/m/HBLDOCxluwBLfo0kon
+NMQyP1q0COUY7WptI+hudN/W5rVegF8oqPYyu0B584DJoPNm+Ew2uGq8tF0eSGTT
+1iuKUjqsye2mZS8ZudjZvjX0nf+f3u+Rot3T4k/onEB9aEf6EUHjpxP6wVwZr4kT
+eSZSHvHtRNH0wfr1zqXe6OYPbD3U/o2CnIoO2NMb4xoRiubNRIYyV4lQdL6aDo5r
++SyI2MqbEI5IKjcTPpyswrOOFuZvEmdzN/yC3J+uFFt+rgUgiyJ6hyhCPKycd0nu
+tP8QSZ2zaQ+tp1oc9r8/noMECFyjhrU1ZRj3pQIDAQABAoIBADFGQUnEIQT1PpSo
+C4xfcyoiA++bbjGawAVnbKVq/7eJvjpsEdaIn31/XT79rMVXm/D4jUl5GPyPznFD
+wHpwQWQEbGE7Z5eD8pG2vXCICmZHz+b7e1mVvPRv040nRcn2OhfXZVIOEGe8AVHK
+G6IHLMgK8pMxzRl1rDg0QA6IiccJW5Shu1Q1IMcmOce2uQP+Ez/HAMW4plHz09f0
+FVXFD6dIjMkH/j6NfDCtxa2dqESlaMu1UquE+kze14xtFjDO//znd1F07hI94gvC
+nEmcxRGvlMwAH1i/RC/gvJYLFQ79JCzLkckWygK549ikYwuIhbr9avYysByI6HJD
++rnoMFUCgYEA8kmTegmR5/pfTyT0GkcV8ZOCPI07tczkSY0GaVYWtSQtlm0ANz0A
+YX5YaGTey0B3BPALH7rGWKey5NUEOTEbQetEV63tKNg1rbxIqST+ZFxtd9MbDWki
+nQX5hDVJUtmxs+8CFhIXo7seULzsgo3WYO3R5ClzOgKGPxGGXxyhQtcCgYEAyKCK
+G/FqtDpLKfbbDsb0Qt4BOw5ZSoP/N4seSG/x2KeAqAsj7xGWmc13A7bL+BD0uefy
+ARLEVIBAkstuzc/U3Nee5U0wQK3x8Z2Ui5o5fdJ6o01qW9nlhnfifm3QQdvhOeCw
+Rcm/BXQU7LZHgpYztfYA+LfD38U/EZNL/n2HheMCgYEA3yBHAoJBrkLy9u3vJywD
+11+i9qSSMpCoQ9vt5Z/0dYkFupxTMIurCB3UyP7r9n49nXx6ohPdidOWegp6Qzko
+AwLpA14XJCBI/uCAgdShukcsQMdXCHij+buA1/JCvlvgvPYFE9JBlvVBq9TwciKx
+JL6fJuHNTcT5YKeA+aJiGC0CgYEAmuwVGdTHT9q/1ezQZU3Oqp/iFWdUHg1lk89y
+l/8Rovpdh+XqXp6XS7b0U0LhqHH3eGMaZifGwXWz52b97iGxvsMl6O08+IUZkjjb
+zx1NjdJtbxLFsZ3F9ps2o+hKa8DN37KYi5tpTV3BFrT+7WDtF3Kad3T35SDcPccf
+ZKosb38CgYAIGVyn4Bpll0kYoK71VdLKju5Rm6vW7GUSIwWELqkmorM5S7WYJcRt
+ixuN/bolhT8HNhwHBz2l98euAnG2GYM7QI6i2yYMxDSMR+8dxACK15bNk9QB0rWS
+Ro5DCKG/xdMWpUnzoOSYIItg05Kn8rWXZqnxyH/r5vdnBCQCcq9alg==
+-----END RSA PRIVATE KEY-----
diff --git a/scripts/biz-certs/Harry-CA.req b/scripts/biz-certs/Harry-CA.req
new file mode 100644
index 00000000..2a52ffd2
--- /dev/null
+++ b/scripts/biz-certs/Harry-CA.req
@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIICaTCCAVECAQAwJDEiMCAGA1UEAxMZVGVzdCBDZXJ0aWZpY2F0ZSBIYXJyeSBD
+QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3ha+mffpBUG2yk623q
+C9rtl3gI/5vxwSwzgsZbsAS36NJKJzTEMj9atAjlGO1qbSPobnTf1ua1XoBfKKj2
+MrtAefOAyaDzZvhMNrhqvLRdHkhk09YrilI6rMntpmUvGbnY2b419J3/n97vkaLd
+0+JP6JxAfWhH+hFB46cT+sFcGa+JE3kmUh7x7UTR9MH69c6l3ujmD2w91P6NgpyK
+DtjTG+MaEYrmzUSGMleJUHS+mg6Oa/ksiNjKmxCOSCo3Ez6crMKzjhbmbxJnczf8
+gtyfrhRbfq4FIIsieocoQjysnHdJ7rT/EEmds2kPradaHPa/P56DBAhco4a1NWUY
+96UCAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQAGP0tg1uUr8FrQSENAYH793LGj
+VPN4pz5cYm5Ztfjlv8/3tH1n0ybVeR/xenr9NLjVRPwPhyvJwIBtDkNvdynV2Yq+
+hiaBT0Yim0+32IC/UV8P3zNlnpFrPJtHo6e4G87F+vV409+CC64IbT3yZU+EGMzI
+WtwAVATr33Wl5VEMgZi3xQ/RTNFMHRAKpZ1MRxhUDR6UGGW/PsfxbV1mP1TPzEEr
+G/C+65QhMcakPZ22cIrlglbIkRDByHjZQQdU5u9QvF7TEiHcxu2syFl80SR9AYe+
+QRoXdRWa25DLe3OVRPocFJCcjzSj0/mlh0nEg1FxXfrTxj6ZQJWm7oBdlb/0
+-----END CERTIFICATE REQUEST-----
diff --git a/scripts/biz-certs/Harry-CA.srl b/scripts/biz-certs/Harry-CA.srl
new file mode 100644
index 00000000..619637e0
--- /dev/null
+++ b/scripts/biz-certs/Harry-CA.srl
@@ -0,0 +1 @@
+F26FDD5DC0623AB4
diff --git a/scripts/biz-certs/Harry-EE.cer b/scripts/biz-certs/Harry-EE.cer
new file mode 100644
index 00000000..5af56a72
--- /dev/null
+++ b/scripts/biz-certs/Harry-EE.cer
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDGDCCAgCgAwIBAgIJAPJv3V3AYjq0MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV
+BAMTGVRlc3QgQ2VydGlmaWNhdGUgSGFycnkgQ0EwHhcNMDgwNDIyMTgzMzQ3WhcN
+MDgwNTIyMTgzMzQ3WjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXRlIEhhcnJ5
+IEVFMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA240oiLNTwXq/uTlP
+vdSr4BnBQRWiFLIRUPhGKiCxmc+dnc2G5JLj4Of6wTcdyUOsAWSdl/yA59XvSp5z
+lXQrAc0wtubHHlwLrWbiqX8MXi6ch3XJsZk99fOW+k6snNnQmscOGVFBuaZFntMd
+XplRTtEO6ao/CXEb6Nl7c+30AFhkR0/qqPMcPgvvZZjfb7ZAqtMNr5Zz5GUbCuLg
+bPsL5LhinwyEVDwdTXR4OV77aEyMNpyRdLoiKB+NrNznuKmlQIG44jCrZrIqzB5p
+LKTDn/fHyZH2coTDSaZXYTW1FYJH/DL3byBgGuz1gFykB5/GSiIdnWYg0eF1mXV8
+Wjd5uQIDAQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBQ0eEAX0TOVTDsAUZCo
+Ihn8IfbKlTAfBgNVHSMEGDAWgBTRlP1GuPGzV0p+TMwaPiyLIOAruzANBgkqhkiG
+9w0BAQsFAAOCAQEAYHk/vIfGjG9E5eOkb8N2dclZMjbzgnrUoOHg/HJ3UDFhONqs
+CgdJpTzmIFT7AskH4xT+KtvX0GysGn0qwaT1uAEVYLOQZ09ozy6t+sBHdG4MVdpr
+4yTmIVxEtLdAp7iEb4M0NTPD2ZrZqVT7/Ux9qDFNABuqqqXKZ3o79q1Nn2pfLsj3
+rdh/YmaT4HKZe/aFvx8aZirlAaZCLcDNROWWBuzvCthfnCI+3OtilDtMABaunT0G
+Ov/8FxuuSO4vtgU1h7INIf0yoZAlv8d5NIqi4CRwZHkX+4cQJp7DXrUyHCXt07dt
+PJO1AxjTpSDllIuMYZn3littmoTebVAB48UGsw==
+-----END CERTIFICATE-----
diff --git a/scripts/biz-certs/Harry-EE.cnf b/scripts/biz-certs/Harry-EE.cnf
new file mode 100644
index 00000000..974915cc
--- /dev/null
+++ b/scripts/biz-certs/Harry-EE.cnf
@@ -0,0 +1,15 @@
+
+[ req ]
+distinguished_name = req_dn
+x509_extensions = req_x509_ext
+prompt = no
+default_md = sha256
+
+[ req_dn ]
+CN = Test Certificate Harry EE
+
+[ req_x509_ext ]
+basicConstraints = CA:false
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always
+
diff --git a/scripts/biz-certs/Harry-EE.key b/scripts/biz-certs/Harry-EE.key
new file mode 100644
index 00000000..e33936f8
--- /dev/null
+++ b/scripts/biz-certs/Harry-EE.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEA240oiLNTwXq/uTlPvdSr4BnBQRWiFLIRUPhGKiCxmc+dnc2G
+5JLj4Of6wTcdyUOsAWSdl/yA59XvSp5zlXQrAc0wtubHHlwLrWbiqX8MXi6ch3XJ
+sZk99fOW+k6snNnQmscOGVFBuaZFntMdXplRTtEO6ao/CXEb6Nl7c+30AFhkR0/q
+qPMcPgvvZZjfb7ZAqtMNr5Zz5GUbCuLgbPsL5LhinwyEVDwdTXR4OV77aEyMNpyR
+dLoiKB+NrNznuKmlQIG44jCrZrIqzB5pLKTDn/fHyZH2coTDSaZXYTW1FYJH/DL3
+byBgGuz1gFykB5/GSiIdnWYg0eF1mXV8Wjd5uQIDAQABAoIBAFCDydOoABU6UMk6
+jVXOgmGi0E5wAoqYauVIx2J3run7S5AtaUS14b//EuR8s/21RYUVQv4T6aobuK+i
+wDyU55i3iR/qLieiFd43lvQV1ZFMgrbiqV7qFeD2ve15oK+86VV5nmAGfpX4thty
+zJh+nWTMIi3q80chJd0UtMNlBlCBbA6LMZuRUMfVGbFbN2Y5C3zbfD2Endd7hAC6
+qv9WIi3WI91NfNHS3kG1PxxkGFPsfbIxKYO0Zl2ItqEM28FVXLgF1q9fjOH1egcC
+n9rJZHkxoGRbPvHDzrAtS5njOmbsCa+HwJBjnMAYFYgyVZtzZwP0Ydoryph4HvY/
+4zLPlyECgYEA8CZnNQYqJT4g3I/18k6hFkN8a0/iUii3Uq0c9A8toGw7Pt9PkXwC
+wMhJwrhAjB4uiRK82R5wunf26BkWL+233qZ3MtLT3p92C+i/zZJjzYKdWSnwqgRm
+fmF7x5Ga3Gx+D1vcSlvszIxMG8H/kfFbQLjmmPau7tZfooEQsjmiZIUCgYEA6gq4
+GBdIOeaRmvplX5jYIpuVrg7/h8ukSXX3ZGNqFp7aN2AHqE/uCFhklLkBaYQjZ/B7
+R2DliPxTziQW2hFGilzqmqA+JFbmRONHBBnNwwYBAYJMqyeN3x7feHM5vlPyxHb+
+wce49vCB5qvwEINJVM+trw9W1TnKOAEfIlYQ8KUCgYEAmtroqlRzUNijMBbUrY7u
+aQDTdg9pDTmcHP/sL6Sp80xXV89/63xf+hgtGBbf6Hp9333psMfkQRmiaT/kArvz
+WOtW6brxTBjfcgZ/x/uhx591/00AF2IHBW+u9Z16krCTCSxe/MQSCkRdv3h1aJKO
+GUohyHkpjHFH8e3v6j0n7lECgYEAvRTJ5FSy+mxHyHBxhAlE3Ljb9ZKSaVBhuyO+
+KfGTXREbdU91AEsLINzg7bKF7Ixf2nJT9rfW2ZQZ1NodSDJaziABPckmS0+Vm6QO
+1MZQETaBi4mMjV5YZSFZI8Pbq+PAp28HpODJk199YzIXsg+PKCDczijTW1LkB9kI
+IUJtTy0CgYBZu0LXjr+GiVtoycBsYq52UYAanpTi2h6UI0UujHrPXVuQ7YnGUPuc
+/rih/mTRGy7pMmQwtZGgVIXixi8afvc3vguNf/5t4CKYs+b0JfJzFy9yyQk1hnT6
+1LuIlO28QkQrjEN+7XWbwIV6eUlXdwzaGTvq8oMViBEt9p2UGs0Lig==
+-----END RSA PRIVATE KEY-----
diff --git a/scripts/biz-certs/Harry-EE.req b/scripts/biz-certs/Harry-EE.req
new file mode 100644
index 00000000..23111969
--- /dev/null
+++ b/scripts/biz-certs/Harry-EE.req
@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIICaTCCAVECAQAwJDEiMCAGA1UEAxMZVGVzdCBDZXJ0aWZpY2F0ZSBIYXJyeSBF
+RTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANuNKIizU8F6v7k5T73U
+q+AZwUEVohSyEVD4RiogsZnPnZ3NhuSS4+Dn+sE3HclDrAFknZf8gOfV70qec5V0
+KwHNMLbmxx5cC61m4ql/DF4unId1ybGZPfXzlvpOrJzZ0JrHDhlRQbmmRZ7THV6Z
+UU7RDumqPwlxG+jZe3Pt9ABYZEdP6qjzHD4L72WY32+2QKrTDa+Wc+RlGwri4Gz7
+C+S4Yp8MhFQ8HU10eDle+2hMjDackXS6Iigfjazc57ippUCBuOIwq2ayKsweaSyk
+w5/3x8mR9nKEw0mmV2E1tRWCR/wy928gYBrs9YBcpAefxkoiHZ1mINHhdZl1fFo3
+ebkCAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQA82wCAKcV0quByQazXrWc1cOgM
+vZgpt+k4UNVbdXMbC6M7IFgqXi/+i9how2JaARzExFeysmDzfUVVkO83vXk2Lzyz
+RhnfFDIEWNt6aYPmJI9uqNzoxrcAwxLrLvYyoyzP+CJNJBFp5nx+xefX5Od8yfu1
+gQCdRD8DXLtu4zlILKMEP70xFN5Qd66t14L6VM3lIzXFDnCTawajABXuJ/MuQIUO
+Ceh7uOEfpD7MWKGL50zvjCCUS/NRrejugnXo+O3RsSbl2o0PsUcPhEattSOWkTF5
+s1z2ylqjdsZSbpOlbcn6WTk4wZ9GM5W5sSOkNcLlMmVag0JcRcoQqrLNXX2p
+-----END CERTIFICATE REQUEST-----
diff --git a/scripts/biz-certs/Harry-Root.cer b/scripts/biz-certs/Harry-Root.cer
new file mode 100644
index 00000000..acf611ac
--- /dev/null
+++ b/scripts/biz-certs/Harry-Root.cer
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDHzCCAgegAwIBAgIJAKl9uBeogyHBMA0GCSqGSIb3DQEBCwUAMCYxJDAiBgNV
+BAMTG1Rlc3QgQ2VydGlmaWNhdGUgSGFycnkgUm9vdDAeFw0wODA0MjIxODMzNDda
+Fw0wODA2MjExODMzNDdaMCYxJDAiBgNVBAMTG1Rlc3QgQ2VydGlmaWNhdGUgSGFy
+cnkgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMap178VPa/q
+0U9YN//4nCiwkwC4Rng3bJdcRwgFVpAda94rpSbheCkGGi9wl02wAHKLh1sJmsh7
+2xHtnCBi1E8TuZswEj0fAjy61RgKsJuTkx/FS8SpnmDjGrmdhXiixA3Wk0FUcH3R
+3jo1p8c2nATbNszSlf5/n7rbMC7Rsv4BD+derFegMgDvuYRhdcB6RsX6ZRHB8cMJ
+wGE0dEuetCBgIbyTvlA3AKa6P2LU/NQkOlRaSdarjisehsfVN/pHTkLIPfXIzYJU
+1KPMeLz1q6UarRXBtzUaEkzk+MJ9igW1gcVwpM7HkXRfXfXgJcexIQiSmrTF0yaS
+wXGgKUPYq2kCAwEAAaNQME4wDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUbZSmGxt6
+dIqB02kQ43FdzNSWfVwwHwYDVR0jBBgwFoAUbZSmGxt6dIqB02kQ43FdzNSWfVww
+DQYJKoZIhvcNAQELBQADggEBAJm6UkX6G+OZ7pCjz4y5rfTUGbfvYyOwWhEHj53g
+ZmzRQLcJvxgv89NRyT/zy3Khh2SGT2xChgzhUwkuXNWug2VoQ1DgQPKaBdJ1+xxh
+65fKQA7X0zzPrpG4eddEFhDq7DIhSufXitxeEMvoh2Vzrb8N1ILZIT0GB1cOwDCo
+/pob5+6l7Lbh6aP0RG18petLBTO7ZzP/cyPO7O0Yf7rU8oKwgUFe3kBcqWgFMyPP
+XV2iqMF8qdzxCbHnoEdXxrqFGQ2CyEj2tZLcz96Ta4o/jEU+GiGycb2FzFpxJbQP
+KSae8HwzYr+YQfmby6O0MPcVNhzf7Cw+wQvVlDIrQaicTy0=
+-----END CERTIFICATE-----
diff --git a/scripts/biz-certs/Harry-Root.cnf b/scripts/biz-certs/Harry-Root.cnf
new file mode 100644
index 00000000..2cb2cf3e
--- /dev/null
+++ b/scripts/biz-certs/Harry-Root.cnf
@@ -0,0 +1,15 @@
+
+[ req ]
+distinguished_name = req_dn
+x509_extensions = req_x509_ext
+prompt = no
+default_md = sha256
+
+[ req_dn ]
+CN = Test Certificate Harry Root
+
+[ req_x509_ext ]
+basicConstraints = CA:true
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always
+
diff --git a/scripts/biz-certs/Harry-Root.key b/scripts/biz-certs/Harry-Root.key
new file mode 100644
index 00000000..a941f9de
--- /dev/null
+++ b/scripts/biz-certs/Harry-Root.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEowIBAAKCAQEAxqnXvxU9r+rRT1g3//icKLCTALhGeDdsl1xHCAVWkB1r3iul
+JuF4KQYaL3CXTbAAcouHWwmayHvbEe2cIGLUTxO5mzASPR8CPLrVGAqwm5OTH8VL
+xKmeYOMauZ2FeKLEDdaTQVRwfdHeOjWnxzacBNs2zNKV/n+futswLtGy/gEP516s
+V6AyAO+5hGF1wHpGxfplEcHxwwnAYTR0S560IGAhvJO+UDcApro/YtT81CQ6VFpJ
+1quOKx6Gx9U3+kdOQsg99cjNglTUo8x4vPWrpRqtFcG3NRoSTOT4wn2KBbWBxXCk
+zseRdF9d9eAlx7EhCJKatMXTJpLBcaApQ9iraQIDAQABAoIBAC2lRI8BAGV1HJaQ
+fH1xz9+BgqU9seNZSLgWWbO8FkGSoQAxIwcl8wfqAQY5ZmpRMCkhaf4+3LOH0bPy
+1laSnpl0vMatauNkRo1RmDin7CAy7jD0kg4jsuIsDC3txYcMTuOnE7qE/jvKhrb1
+MRGSuJJdE+BH2nLZPAgg6Jc5U1kM2cEcQvsno8cfXbAr9mDgs5v6303j1Oh7/Tfc
+IzWHXYWJ95ygHVGMRXhMKMjPf6/yK5o87cGxVoK1LZ6ZuUbg6u7gP1+dapHnEnI4
+dhrMo2ZB2xD8O+AjMmr7CFWD2ZjIOVTox1/6cMlhAb+cMOwFnh11g7cCY24ZLq+6
+Hw93qckCgYEA56dntR5xo6IjXhz3gDCGiMXzZvXn/0EDpMI7BE4CSG8zCNaKlk4n
+XDP1tGDows1QHviLiKrhiHCsPqVynJCmOufCD+DaTDqwSynI036X/goeJ8Du9A1+
+b8i9CxAsT/dtD5WlkiqE44rb/f+tpnOCTIJ3tQEiKl5u7m+iBPw8ahMCgYEA24rW
+JwGCoHr3Y74Fx8gSIa6VrTSV3Kxf+tiENwJcjB1PjjqaYRGkE8K/FZUlYBWNw8NM
+3hiX7yZ5wbHZplElAYrG1I6lF4L7Z+USFzr8s5MTnp1LC9gpT6aTQAF4ci6fLs9L
+SfvaNm7FHYL3SoU0Vg15B0lhuOPxa48Eyu4JhBMCgYEAxiNKsgD7JAHPjHTsQQnA
+WIYvvVYBfDMooai7/9+VVk0+coXGfe8U/Wk39HObQtuHdyYRevDl/OSafu7WTBHx
+DJskQp6JOQBNv8xaiINUD6apykjcWYSdK5GgGDFaJX+1GcpeltmlVlZz+hnRdnh/
+7178cqYoieLBsVFsXCU+q18CgYBJE/ra+wa3Upc8rUkRSki2y31pLULhNMOyJRZF
+lVSnEy6jImC3BP8/0Kh4j6/kPuh0jHLuzvLsGTuYPRI86W/PBpnOsTjFDcWPvNF7
+yBfL0p5KQwNzCt4ddE45lQO5xkkYdMoT83Ccg9y7SRf1x0c3ib6KrWOI/t8itXWb
+8wZZ3wKBgFckz4Hcht/M0ajjIPSoD0PbasuLx0zErvG3RPrOasgnaoWLy33x7rKf
+daF2Gi2ZxrwzaAAfom+SgUrOSbUKAplGTnniXqZSN0B23xQFieIeVH4XcoDmDMAj
+wZTll9weagdDyYyzYi36g3g2woRqy6uTtYJxZkcxR5ZQBNQebWUu
+-----END RSA PRIVATE KEY-----
diff --git a/scripts/biz-certs/Harry-Root.req b/scripts/biz-certs/Harry-Root.req
new file mode 100644
index 00000000..405f097e
--- /dev/null
+++ b/scripts/biz-certs/Harry-Root.req
@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIICazCCAVMCAQAwJjEkMCIGA1UEAxMbVGVzdCBDZXJ0aWZpY2F0ZSBIYXJyeSBS
+b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxqnXvxU9r+rRT1g3
+//icKLCTALhGeDdsl1xHCAVWkB1r3iulJuF4KQYaL3CXTbAAcouHWwmayHvbEe2c
+IGLUTxO5mzASPR8CPLrVGAqwm5OTH8VLxKmeYOMauZ2FeKLEDdaTQVRwfdHeOjWn
+xzacBNs2zNKV/n+futswLtGy/gEP516sV6AyAO+5hGF1wHpGxfplEcHxwwnAYTR0
+S560IGAhvJO+UDcApro/YtT81CQ6VFpJ1quOKx6Gx9U3+kdOQsg99cjNglTUo8x4
+vPWrpRqtFcG3NRoSTOT4wn2KBbWBxXCkzseRdF9d9eAlx7EhCJKatMXTJpLBcaAp
+Q9iraQIDAQABoAAwDQYJKoZIhvcNAQELBQADggEBAIPsJIul3/pvQwGO43A2S/Jg
+I3hoEV5PfxwcEBDXbBb/wHm+yllCJOu4l1O3E8kMkHYdzGJtTblCTXtkFuFGRscf
+mL0p5VrOWsau1qrodjKoQodFMM1fa0isPEHcKOKvXlzJe7yGBMsFMsyVR//QsjXk
+cSU3u9K5UiSmpQlPljUvHnR7qEOd0XjnFtqpQxhaTJGuXaYswtQZKu7oXkocJNzs
+os49Lw2yOlMlxmEciv4eZErpNvTnmBOxzOQ2HOeRHGSdL2AZNFcInkt2TZBT25tv
+2/CL7rbOtDenJbFyTtU+/iy3f2e9zQnf6wnlHyLihlbVleH2cOb2SCk0ttGZrY4=
+-----END CERTIFICATE REQUEST-----
diff --git a/scripts/biz-certs/Harry-Root.srl b/scripts/biz-certs/Harry-Root.srl
new file mode 100644
index 00000000..181c23b0
--- /dev/null
+++ b/scripts/biz-certs/Harry-Root.srl
@@ -0,0 +1 @@
+F834ECC802850EF0
diff --git a/scripts/biz-certs/a17ff8dd.0 b/scripts/biz-certs/a17ff8dd.0
new file mode 120000
index 00000000..df756426
--- /dev/null
+++ b/scripts/biz-certs/a17ff8dd.0
@@ -0,0 +1 @@
+Elena-EE.cer \ No newline at end of file
diff --git a/scripts/biz-certs/b523b0af.0 b/scripts/biz-certs/b523b0af.0
new file mode 120000
index 00000000..2af1f2c8
--- /dev/null
+++ b/scripts/biz-certs/b523b0af.0
@@ -0,0 +1 @@
+Ginny-CA.cer \ No newline at end of file
diff --git a/scripts/biz-certs/c027faa7.0 b/scripts/biz-certs/c027faa7.0
new file mode 120000
index 00000000..34794f44
--- /dev/null
+++ b/scripts/biz-certs/c027faa7.0
@@ -0,0 +1 @@
+Carol-EE.cer \ No newline at end of file
diff --git a/scripts/biz-certs/cf3dacf7.0 b/scripts/biz-certs/cf3dacf7.0
new file mode 120000
index 00000000..e2d0a776
--- /dev/null
+++ b/scripts/biz-certs/cf3dacf7.0
@@ -0,0 +1 @@
+Dave-CA.cer \ No newline at end of file
diff --git a/scripts/biz-certs/d9bfc7a9.0 b/scripts/biz-certs/d9bfc7a9.0
new file mode 120000
index 00000000..c3647c1c
--- /dev/null
+++ b/scripts/biz-certs/d9bfc7a9.0
@@ -0,0 +1 @@
+Frank-EE.cer \ No newline at end of file
diff --git a/scripts/biz-certs/dfc82c8e.0 b/scripts/biz-certs/dfc82c8e.0
new file mode 120000
index 00000000..846947ab
--- /dev/null
+++ b/scripts/biz-certs/dfc82c8e.0
@@ -0,0 +1 @@
+Ginny-EE.cer \ No newline at end of file
diff --git a/scripts/biz-certs/f97c9834.0 b/scripts/biz-certs/f97c9834.0
new file mode 120000
index 00000000..e6a1b1aa
--- /dev/null
+++ b/scripts/biz-certs/f97c9834.0
@@ -0,0 +1 @@
+Elena-CA.cer \ No newline at end of file
diff --git a/scripts/biz-certs/ff615a1f.0 b/scripts/biz-certs/ff615a1f.0
new file mode 120000
index 00000000..0d7c9e4a
--- /dev/null
+++ b/scripts/biz-certs/ff615a1f.0
@@ -0,0 +1 @@
+Dave-EE.cer \ No newline at end of file
diff --git a/scripts/biz-certs/ff8832dd.0 b/scripts/biz-certs/ff8832dd.0
new file mode 120000
index 00000000..af1cacc8
--- /dev/null
+++ b/scripts/biz-certs/ff8832dd.0
@@ -0,0 +1 @@
+Dave-Root.cer \ No newline at end of file
diff --git a/scripts/rootd.cer b/scripts/rootd.cer
new file mode 100644
index 00000000..205fee80
--- /dev/null
+++ b/scripts/rootd.cer
@@ -0,0 +1,93 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number:
+ a7:85:aa:b9:ac:55:06:68
+ Signature Algorithm: sha256WithRSAEncryption
+ Issuer: CN=Completely Bogus Test Root (NOT FOR PRODUCTION USE)
+ Validity
+ Not Before: Nov 7 01:24:37 2007 GMT
+ Not After : Dec 7 01:24:37 2007 GMT
+ Subject: CN=Completely Bogus Test Root (NOT FOR PRODUCTION USE)
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (2048 bit)
+ Modulus (2048 bit):
+ 00:b1:b5:66:85:a4:cc:91:81:15:0c:de:bf:dc:fe:
+ 53:bd:34:20:ed:b0:3b:be:25:8c:1e:ab:da:07:20:
+ cd:c3:c0:22:22:1a:0e:dc:38:c8:3a:c2:35:23:9a:
+ 1f:91:32:ea:29:53:fc:be:4a:ce:f1:c2:23:44:16:
+ 0d:cc:9c:c5:02:b7:06:53:46:b1:20:60:c2:73:3c:
+ f8:c2:61:15:c5:c8:65:b9:cd:5d:56:ef:03:e9:44:
+ 80:27:f1:f8:d5:28:d6:f1:be:6b:51:d8:5e:24:26:
+ 8e:5e:29:2d:3d:6b:ac:1c:ce:d9:d1:51:00:22:2c:
+ fb:64:a4:c4:4d:0c:ce:45:10:a0:d6:a1:b5:ac:fa:
+ 4f:1d:41:78:f8:6c:87:8b:e4:52:0c:25:66:6b:75:
+ 42:1e:10:a6:fe:e6:17:2f:ad:07:f7:bc:a8:f3:57:
+ c9:1c:b4:95:e7:f1:19:2d:ab:a6:ef:6d:b2:dd:6e:
+ fe:c2:bb:1a:1c:d5:dd:21:e9:d7:92:27:0b:bb:df:
+ f0:3b:6e:ad:f1:21:55:d1:6e:e2:cc:0b:05:0f:25:
+ 5a:4a:5b:d2:9b:74:f0:2f:fc:c3:45:37:68:ac:6a:
+ d5:3b:f6:09:dd:41:fd:f7:48:47:f9:ab:93:2b:79:
+ 8f:47:ae:d9:34:69:42:f8:60:46:a0:52:d7:b2:a3:
+ 17:55
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints: critical
+ CA:TRUE
+ X509v3 Subject Key Identifier:
+ BC:C8:FF:91:73:B7:5F:60:75:A9:CC:2A:5C:DC:CE:AC:83:A0:04:F1
+ X509v3 Key Usage: critical
+ Certificate Sign, CRL Sign
+ Subject Information Access:
+ 1.3.6.1.5.5.7.48.5 - URI:rsync://wombat.invalid/
+
+ sbgp-autonomousSysNum: critical
+ Autonomous System Numbers:
+ 1-65535
+
+ sbgp-ipAddrBlock: critical
+ IPv4:
+ 0.0.0.0/0
+ IPv6:
+ :/0
+
+ Signature Algorithm: sha256WithRSAEncryption
+ 9b:05:00:c1:1c:2a:4e:5f:52:1e:2a:2b:c5:46:2e:e9:a4:2f:
+ 4c:a8:4a:67:08:56:e9:62:70:7c:0b:48:c2:13:46:89:7b:31:
+ ba:60:ad:0d:62:0d:fe:df:05:f6:2f:ab:73:ae:4a:1a:b0:7a:
+ 77:7a:11:66:a2:09:6c:99:b6:bc:b2:a6:f5:06:e4:8e:d7:4d:
+ 09:a4:0f:35:11:51:1d:22:42:4e:1a:93:a8:fd:dc:b0:d5:d6:
+ 16:cf:30:a8:c4:fa:21:47:c0:97:ed:26:71:e7:a0:05:d2:8d:
+ 68:f0:b9:cb:48:00:da:d4:c2:18:94:b3:fa:22:f8:57:d1:76:
+ b4:7f:b9:b3:95:21:07:1a:56:71:3d:51:6e:2e:cd:93:ff:48:
+ a0:7c:4a:eb:c3:e0:0a:30:19:4e:b4:8d:d0:33:b8:3b:e8:43:
+ dd:c0:76:76:b8:ff:07:ad:10:67:7f:09:d4:54:86:3d:61:87:
+ c4:56:c4:be:f5:4a:9e:5a:aa:35:a3:10:33:ae:86:e6:10:3b:
+ 2a:6b:d7:3d:cb:3e:c8:94:d8:d3:c0:9a:f6:ae:14:f7:1c:f4:
+ 13:2f:14:45:bb:12:55:00:84:1c:e7:24:f0:f2:a8:42:c0:59:
+ 9c:bb:25:ed:f5:fa:46:6f:43:89:2e:e6:ad:75:c1:ff:df:52:
+ 25:85:c3:37
+-----BEGIN CERTIFICATE-----
+MIIDwjCCAqqgAwIBAgIJAKeFqrmsVQZoMA0GCSqGSIb3DQEBCwUAMD4xPDA6BgNV
+BAMTM0NvbXBsZXRlbHkgQm9ndXMgVGVzdCBSb290IChOT1QgRk9SIFBST0RVQ1RJ
+T04gVVNFKTAeFw0wNzExMDcwMTI0MzdaFw0wNzEyMDcwMTI0MzdaMD4xPDA6BgNV
+BAMTM0NvbXBsZXRlbHkgQm9ndXMgVGVzdCBSb290IChOT1QgRk9SIFBST0RVQ1RJ
+T04gVVNFKTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALG1ZoWkzJGB
+FQzev9z+U700IO2wO74ljB6r2gcgzcPAIiIaDtw4yDrCNSOaH5Ey6ilT/L5KzvHC
+I0QWDcycxQK3BlNGsSBgwnM8+MJhFcXIZbnNXVbvA+lEgCfx+NUo1vG+a1HYXiQm
+jl4pLT1rrBzO2dFRACIs+2SkxE0MzkUQoNahtaz6Tx1BePhsh4vkUgwlZmt1Qh4Q
+pv7mFy+tB/e8qPNXyRy0lefxGS2rpu9tst1u/sK7GhzV3SHp15InC7vf8DturfEh
+VdFu4swLBQ8lWkpb0pt08C/8w0U3aKxq1Tv2Cd1B/fdIR/mrkyt5j0eu2TRpQvhg
+RqBS17KjF1UCAwEAAaOBwjCBvzAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBS8
+yP+Rc7dfYHWpzCpc3M6sg6AE8TAOBgNVHQ8BAf8EBAMCAQYwMwYIKwYBBQUHAQsE
+JzAlMCMGCCsGAQUFBzAFhhdyc3luYzovL3dvbWJhdC5pbnZhbGlkLzAfBggrBgEF
+BQcBCAEB/wQQMA6gDDAKMAgCAQECAwD//zAnBggrBgEFBQcBBwEB/wQYMBYwCQQC
+AAEwAwMBADAJBAIAAjADAwEAMA0GCSqGSIb3DQEBCwUAA4IBAQCbBQDBHCpOX1Ie
+KivFRi7ppC9MqEpnCFbpYnB8C0jCE0aJezG6YK0NYg3+3wX2L6tzrkoasHp3ehFm
+oglsmba8sqb1BuSO100JpA81EVEdIkJOGpOo/dyw1dYWzzCoxPohR8CX7SZx56AF
+0o1o8LnLSADa1MIYlLP6IvhX0Xa0f7mzlSEHGlZxPVFuLs2T/0igfErrw+AKMBlO
+tI3QM7g76EPdwHZ2uP8HrRBnfwnUVIY9YYfEVsS+9UqeWqo1oxAzrobmEDsqa9c9
+yz7IlNjTwJr2rhT3HPQTLxRFuxJVAIQc5yTw8qhCwFmcuyXt9fpGb0OJLuatdcH/
+31IlhcM3
+-----END CERTIFICATE-----
diff --git a/scripts/rootd.cnf b/scripts/rootd.cnf
new file mode 100644
index 00000000..1e400c04
--- /dev/null
+++ b/scripts/rootd.cnf
@@ -0,0 +1,30 @@
+# $Id$
+#
+# Generate test root resource certificate for use with rootd.py server.
+
+[ req ]
+default_bits = 2048
+encrypt_key = no
+distinguished_name = req_dn
+req_extensions = req_x509_ext
+prompt = no
+
+[ req_dn ]
+CN = Completely Bogus Test Root (NOT FOR PRODUCTION USE)
+
+[ req_x509_ext ]
+basicConstraints = critical,CA:true
+subjectKeyIdentifier = hash
+keyUsage = critical,keyCertSign,cRLSign
+subjectInfoAccess = 1.3.6.1.5.5.7.48.5;URI:rsync://wombat.invalid/
+sbgp-autonomousSysNum = critical,@req_asid_ext
+sbgp-ipAddrBlock = critical,@req_addr_ext
+
+[ req_asid_ext ]
+
+AS.0 = 1-65535
+
+[ req_addr_ext ]
+
+IPv4.0 = 0.0.0.0/0
+IPv6.0 = 0::/0
diff --git a/scripts/rootd.key b/scripts/rootd.key
new file mode 100644
index 00000000..d97fc64d
--- /dev/null
+++ b/scripts/rootd.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEowIBAAKCAQEAsbVmhaTMkYEVDN6/3P5TvTQg7bA7viWMHqvaByDNw8AiIhoO
+3DjIOsI1I5ofkTLqKVP8vkrO8cIjRBYNzJzFArcGU0axIGDCczz4wmEVxchluc1d
+Vu8D6USAJ/H41SjW8b5rUdheJCaOXiktPWusHM7Z0VEAIiz7ZKTETQzORRCg1qG1
+rPpPHUF4+GyHi+RSDCVma3VCHhCm/uYXL60H97yo81fJHLSV5/EZLaum722y3W7+
+wrsaHNXdIenXkicLu9/wO26t8SFV0W7izAsFDyVaSlvSm3TwL/zDRTdorGrVO/YJ
+3UH990hH+auTK3mPR67ZNGlC+GBGoFLXsqMXVQIDAQABAoIBAG5CxlzPltoFBGGa
+5+Kfrqdra67utPLS6zCwojPgB6uYT9Vm46eCV8IVc9EmNMXrmFySLvSHCAX61dTN
+9jvpXVfE5djPuOEFCEFmKFa61D6Gi4+QO4TQAlY+2WFvglwH3e3an04F+MtnXNhR
+pi9A2mZ5da6pGnMaA9U7Yk0IUAeLMva/WfsMtY3+HvTyjNfYtULAOw82nuC4wddc
+SYAOlFL9dw/QJ1bICddVoV0HfyiSJgGWQZbVGFacTeh8w6ir47sXxTOvWiCiUWYn
+gDuhknDI7yXAFIUZYSiJKlJfrSLrbfPEg3l8xNvwZR0FCVZLdrmldhVNSyLg2II8
+IALn92ECgYEA6RcuOx29gjdz9uwFxlkEMYpVKLGOEBABGeSCo8dyFmbBKY1iw22e
+OzSDzVAQoaPk6Fqgbs0XNsrpDpkqoejnrXeqgK6BlyikcE4qelnWXWEvDQy+1tXs
+nJsS9jHGVEr0e+aUGhJAJn9pO3TbDtQnswwbxmLkvSGy35SnNMSAfFkCgYEAwyy/
+dNP02y8zEdpt+8CHysOEnnS/VlJvDXoYGVu6AZ3dWPLwxymJC2YGdxGLqHpVkoNI
+oKlNFrnRbhYMbMIGFOJr6pvTDsM4zxJ0wy86PSE1Oid9JqZwXrNJqnPo861nNW86
+xRopLlZjsQ2RU0VNiPjYgoriaDXOAvTzppzr410CgYA0ddEj4Per/QsOgeRy1coJ
+1FaCSCPvHYsB5to4PkVBIXNMBNQ7o8o/DPy1EtYLazWzzeHZzjLxVA3MCVD9C8xI
+0GwBdkUYXj9UP2N0EhAbCCpsx3eUJqWQQZ6s5lr60bvgvu6KR51EjNyEUzKSTdF5
+jLobllpg7tqxU2WmjKtWUQKBgHUVXAlmuaXfa8CTC5WSCyQdJGq2WK4dJ5erHdfg
+ifY8ULPykXS4uwjGfKxjLyezs6//58rRpXgzoqpquatovaM7rUeBkRxzCppWVQte
+Qo63ZCnt1IsiH5j/7vo9LIs6BAcvIc9qAThWBNoK7JpKodfAiInPbUDcvihR7/SM
+gInVAoGBAKLrNc91EygUaXJR92z/PzEoNI6UGYAbP+z0bmn67jpPLxCjN2aZRUkm
+18MElOmSoedsf+dIcqOHdWvoyiDHVo2i0yxRy0nD54VVH2ZqS2fRLX6+pnCE0XiI
+ulAAjPazIPG5XOugl17O7cKsPAI/uF7bWRcg4OLjXQy7XvPPMoR3
+-----END RSA PRIVATE KEY-----
diff --git a/scripts/rootd.sh b/scripts/rootd.sh
new file mode 100644
index 00000000..73411a16
--- /dev/null
+++ b/scripts/rootd.sh
@@ -0,0 +1,143 @@
+#!/bin/sh -
+# $Id$
+
+# Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN")
+#
+# Permission to use, copy, modify, and distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+# Script to test against rootd.py.
+#
+# This blows away rpkid's database and rebuilds it with what we need
+# for this test, and knows far too much about the id numbers that
+# rpkid and mysql will assign. In the long run we must do better than
+# this, but gotta start somewhere.
+
+openssl=../openssl/openssl/apps/openssl
+
+# Halt on first error
+
+set -e
+
+# Generate new key and cert for rootd.py if needed
+
+if test ! -r rootd.cer -o ! -r rootd.key
+then
+ $openssl req -new -newkey rsa:2048 -nodes -keyout rootd.key -out rootd.req -config rootd.cnf
+ $openssl x509 -req -in rootd.req -out rootd.cer -extfile rootd.cnf -extensions req_x509_ext -signkey rootd.key -text -sha256
+ rm -f rootd.req
+fi
+
+# Blow away old rpkid database (!) so we can start clean
+
+mysql -u rpki -p`awk '$1 == "sql-password" {print $3}' rpkid.conf` rpki <rpki-db-schema.sql
+
+# Start rpkid so we can configure it, make sure we shut it down on exit
+
+python rpkid.py & rpkid=$!
+trap "kill $rpkid" 0 1 2 3 13 15
+
+: Waiting to let rpkid start up; sleep 5
+
+# Create a self instance
+
+time python irbe_cli.py self --action create --crl_interval 84600
+
+# Create a business signing context, issue the necessary business cert, and set up the cert chain
+
+time python irbe_cli.py --pem_out bsc.req bsc --action create --self_id 1 --generate_keypair --signing_cert biz-certs/Bob-CA.cer
+time $openssl x509 -req -in bsc.req -out bsc.cer -CA biz-certs/Bob-CA.cer -CAkey biz-certs/Bob-CA.key -CAserial biz-certs/Bob-CA.srl
+time python irbe_cli.py bsc --action set --self_id 1 --bsc_id 1 --signing_cert bsc.cer
+rm -f bsc.req bsc.cer
+
+# Create a repository context
+
+time python irbe_cli.py repository --self_id 1 --action create --bsc_id 1
+
+# Create a parent context pointing at rootd.py
+
+time python irbe_cli.py parent --self_id 1 --action create --bsc_id 1 --repository_id 1 \
+ --peer_contact_uri https://localhost:44333/ \
+ --cms_ta biz-certs/Elena-Root.cer \
+ --https_ta biz-certs/Elena-Root.cer \
+ --sia_base rsync://wombat.invalid/ \
+ --sender_name tweedledee \
+ --recipient_name tweedledum
+
+# Create a child context
+
+time python irbe_cli.py child --self_id 1 --action create --bsc_id 1 --cms_ta biz-certs/Frank-Root.cer
+
+# Need to link irdb to created child and clear conflicting links.
+# For now, just do this "manually" in MySQL CLI.
+
+echo '
+ UPDATE registrant SET rpki_self_id = NULL, rpki_child_id = NULL;
+ UPDATE registrant SET rpki_self_id = 1, rpki_child_id = 1 WHERE subject_name = "Epilogue Technology Corporation";
+' |
+mysql -u irdb -p`awk '$1 == "sql-password" {print $3}' irbe.conf` irdb
+
+if test "$1" = "run"
+then
+
+ rm -rf publication
+
+ python rootd.py & rootd=$!
+ python irdbd.py & irdbd=$!
+ trap "kill $rpkid $irdbd $rootd" 0 1 2 3 13 15
+
+ : Waiting to let daemons start up; sleep 5
+
+ date; time python cronjob.py
+ date; time python testpoke.py -r list
+ date; time python testpoke.py -r issue
+
+ date; time python cronjob.py
+ date; time python testpoke.py -r list
+ date; time python testpoke.py -r issue
+
+ date; python testpoke.py -r issue |
+ qh |
+ sed -n '/^(certificate/,/^)certificate/s/^-//p' |
+ mimencode -u |
+ $openssl x509 -noout -inform DER -text
+
+ date; time python testpoke.py -r revoke
+ date; time python testpoke.py -r list
+ date; time python cronjob.py
+ date; time python testpoke.py -r list
+
+ date; time python cronjob.py
+ date; time python testpoke.py -r list
+ date; time python testpoke.py -r issue
+
+ date; time python testpoke.py -r revoke
+ date; time python testpoke.py -r list
+ date; time python cronjob.py
+ date; time python testpoke.py -r list
+
+ date; time python testpoke.py -r issue
+ date; time python testpoke.py -r revoke
+ date; time python testpoke.py -r issue
+ date; time python testpoke.py -r revoke
+ date; time python testpoke.py -r issue
+ date; time python testpoke.py -r revoke
+ date; time python testpoke.py -r list
+ date; time python cronjob.py
+ date; time python testpoke.py -r list
+
+ date; time python testpoke.py -r issue
+ date; time python cronjob.py
+ date; time python testpoke.py -r list
+ date
+
+fi
diff --git a/scripts/test-pow-cms.py b/scripts/test-pow-cms.py
new file mode 100644
index 00000000..f7acc912
--- /dev/null
+++ b/scripts/test-pow-cms.py
@@ -0,0 +1,68 @@
+"""
+$Id$
+
+Copyright (C) 2008 American Registry for Internet Numbers ("ARIN")
+
+Permission to use, copy, modify, and distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+"""
+
+import POW, rpki.x509, os, traceback
+
+key = rpki.x509.RSA(Auto_file = "biz-certs/Alice-EE.key").get_POW()
+ee = rpki.x509.X509(Auto_file = "biz-certs/Alice-EE.cer").get_POW()
+
+ca = rpki.x509.X509(Auto_file = "biz-certs/Alice-CA.cer").get_POW()
+ta = rpki.x509.X509(Auto_file = "biz-certs/Alice-Root.cer").get_POW()
+
+store = POW.X509Store()
+store.addTrust(ta)
+
+if store.verify(ca):
+ print "Verified CA"
+ store.addTrust(ca)
+else:
+ print "Couldn't verify CA"
+
+if store.verify(ee):
+ print "Verified EE"
+ store.addTrust(ee)
+else:
+ print "Couldn't verify EE"
+
+oid = "1.2.840.113549.1.9.16.1.24"
+
+plaintext = "Wombats Are Us"
+
+for args in ((ee, key, plaintext, [ca], (), oid),
+ (ee, key, plaintext, [ca], (), oid, POW.CMS_NOATTR),
+ (ee, key, plaintext, [ca], (), oid, POW.CMS_NOCERTS),
+ (ee, key, plaintext, [], (), oid),
+ (ee, key, plaintext, [], (), oid, POW.CMS_NOATTR),
+ (ee, key, plaintext, [], (), oid, POW.CMS_NOCERTS)):
+
+ print "Testing", repr(args)
+
+ cms = POW.CMS()
+ cms.sign(*args)
+
+ #print cms.pprint()
+
+ print "Certs:"
+ for x in cms.certs():
+ print x.pprint()
+
+ print "CRLs:"
+ for c in cms.crls():
+ print c.pprint()
+
+ cms.verify(store, [ee])
diff --git a/scripts/test-pow-tls.py b/scripts/test-pow-tls.py
new file mode 100644
index 00000000..bc9ea9a0
--- /dev/null
+++ b/scripts/test-pow-tls.py
@@ -0,0 +1,61 @@
+"""
+Grope towards testing TLS functionality in POW
+
+$Id$
+
+Copyright (C) 2008 American Registry for Internet Numbers ("ARIN")
+
+Permission to use, copy, modify, and distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+"""
+
+# openssl s_server -tls1 -Verify 9 -cert biz-certs/Alice-EE.cer -key biz-certs/Alice-EE.key -www -CApath biz-certs -chain
+
+# openssl s_client -connect localhost:4433 -tls1 -cert biz-certs/Bob-EE.cer -key biz-certs/Bob-EE.key -verify 9 -CApath biz-certs -crlf
+
+import POW, socket
+
+def pow_error_iterator():
+ err = POW.getError()
+ if err is None:
+ raise StopIteration
+ else:
+ yield err
+
+key = POW.pemRead(POW.RSA_PRIVATE_KEY, open("biz-certs/Bob-EE.key").read())
+cer = POW.pemRead(POW.X509_CERTIFICATE, open("biz-certs/Bob-EE.cer").read())
+ca = POW.pemRead(POW.X509_CERTIFICATE, open("biz-certs/Bob-CA.cer").read())
+
+s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+s.connect(("localhost", 4433))
+
+try:
+ t = POW.Ssl(POW.TLSV1_CLIENT_METHOD)
+ t.useCertificate(cer)
+ t.useKey(key)
+ t.addCertificate(ca)
+ t.setFd(s.fileno())
+ t.connect()
+ x = t.peerCertificate()
+ if x is not None:
+ print "Peer", x.pprint()
+ t.write("GET / HTTP/1.0\r\n")
+ if False:
+ print t.read(10000)
+ else:
+ while True:
+ print t.read()
+except:
+ print "ERROR:"
+ for e in pow_error_iterator():
+ print e
+ raise
diff --git a/scripts/testpoke.sh b/scripts/testpoke.sh
new file mode 100644
index 00000000..6e6a0b74
--- /dev/null
+++ b/scripts/testpoke.sh
@@ -0,0 +1,8 @@
+#!/bin/sh -
+# $Id$
+#
+# Test client using APNIC's rpki_poke.pl script.
+
+: ${pokedir=../../mirin.apnic.net/rpki_engine/branches/gary-poker/client/poke}
+
+exec perl -I $pokedir $pokedir/rpki_poke.pl ${1+"$@"}