123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216 |
- #!/bin/bash
- #
- # assemble-chains.sh
- # Create certs and assemble all the certificate CA path test cert chains.
- ###########################################################
- ########## update server-0-ca.pem ################
- ###########################################################
- echo "Updating server-0-ca.pem"
- echo ""
- #pipe the following arguments to openssl req...
- echo -e "US\nWashington\nSeattle\nwolfSSL Inc.\nEngineering\nServer 0 CA\ninfo@wolfssl.com\n.\n.\n" | openssl req -new -key ../server-key.pem -nodes -sha1 > server-0-ca-req.pem
- openssl x509 -req -in server-0-ca-req.pem -extfile ../renewcerts/wolfssl.cnf -extensions pathlen_0 -days 1000 -CA ../ca-cert.pem -CAkey ../ca-key.pem -set_serial 100 -sha1 > server-0-ca.pem
- rm server-0-ca-req.pem
- openssl x509 -in server-0-ca.pem -text > ca_tmp.pem
- mv ca_tmp.pem server-0-ca.pem
- ###########################################################
- ########## update server-0-cert.pem ################
- ###########################################################
- echo "Updating server-0-cert.pem"
- echo ""
- #pipe the following arguments to openssl req...
- echo -e "US\nWashington\nSeattle\nwolfSSL Inc.\nEngineering\nServer 0\ninfo@wolfssl.com\n.\n.\n" | openssl req -new -key ../server-key.pem -nodes -sha1 > server-0-cert-req.pem
- openssl x509 -req -in server-0-cert-req.pem -extfile ../renewcerts/wolfssl.cnf -extensions test_pathlen -days 1000 -CA server-0-ca.pem -CAkey ../server-key.pem -set_serial 101 -sha1 > server-0-cert.pem
- rm server-0-cert-req.pem
- openssl x509 -in server-0-cert.pem -text > cert_tmp.pem
- mv cert_tmp.pem server-0-cert.pem
- ###########################################################
- ########## update server-1-ca.pem ################
- ###########################################################
- echo "Updating server-1-ca.pem"
- echo ""
- #pipe the following arguments to openssl req...
- echo -e "US\nWashington\nSeattle\nwolfSSL Inc.\nEngineering\nServer 1 CA\ninfo@wolfssl.com\n.\n.\n" | openssl req -new -key ../server-key.pem -nodes -sha1 > server-1-ca-req.pem
- openssl x509 -req -in server-1-ca-req.pem -extfile ../renewcerts/wolfssl.cnf -extensions pathlen_1 -days 1000 -CA ../ca-cert.pem -CAkey ../ca-key.pem -set_serial 102 -sha1 > server-1-ca.pem
- rm server-1-ca-req.pem
- openssl x509 -in server-1-ca.pem -text > ca_tmp.pem
- mv ca_tmp.pem server-1-ca.pem
- ###########################################################
- ########## update server-1-cert.pem ################
- ###########################################################
- echo "Updating server-1-cert.pem"
- echo ""
- #pipe the following arguments to openssl req...
- echo -e "US\nWashington\nSeattle\nwolfSSL Inc.\nEngineering\nServer 1\ninfo@wolfssl.com\n.\n.\n" | openssl req -new -key ../server-key.pem -nodes -sha1 > server-1-cert-req.pem
- openssl x509 -req -in server-1-cert-req.pem -extfile ../renewcerts/wolfssl.cnf -extensions test_pathlen -days 1000 -CA server-1-ca.pem -CAkey ../server-key.pem -set_serial 105 -sha1 > server-1-cert.pem
- rm server-1-cert-req.pem
- openssl x509 -in server-1-cert.pem -text > cert_tmp.pem
- mv cert_tmp.pem server-1-cert.pem
- ###########################################################
- ########## update server-0-1-ca.pem ################
- ###########################################################
- echo "Updating server-0-1-ca.pem"
- echo ""
- #pipe the following arguments to openssl req...
- echo -e "US\nWashington\nSeattle\nwolfSSL Inc.\nEngineering\nServer 0-1 CA\ninfo@wolfssl.com\n.\n.\n" | openssl req -new -key ../server-key.pem -nodes -sha1 > server-0-1-ca-req.pem
- openssl x509 -req -in server-0-1-ca-req.pem -extfile ../renewcerts/wolfssl.cnf -extensions pathlen_1 -days 1000 -CA server-0-ca.pem -CAkey ../server-key.pem -set_serial 110 -sha1 > server-0-1-ca.pem
- rm server-0-1-ca-req.pem
- openssl x509 -in server-0-1-ca.pem -text > ca_tmp.pem
- mv ca_tmp.pem server-0-1-ca.pem
- ###########################################################
- ########## update server-0-1-cert.pem ################
- ###########################################################
- echo "Updating server-0-1-cert.pem"
- echo ""
- #pipe the following arguments to openssl req...
- echo -e "US\nWashington\nSeattle\nwolfSSL Inc.\nEngineering\nServer 0-1\ninfo@wolfssl.com\n.\n.\n" | openssl req -new -key ../server-key.pem -nodes -sha1 > server-0-1-cert-req.pem
- openssl x509 -req -in server-0-1-cert-req.pem -extfile ../renewcerts/wolfssl.cnf -extensions test_pathlen -days 1000 -CA server-0-1-ca.pem -CAkey ../server-key.pem -set_serial 111 -sha1 > server-0-1-cert.pem
- rm server-0-1-cert-req.pem
- openssl x509 -in server-0-1-cert.pem -text > cert_tmp.pem
- mv cert_tmp.pem server-0-1-cert.pem
- ###########################################################
- ########## update server-1-0-ca.pem ################
- ###########################################################
- echo "Updating server-1-0-ca.pem"
- echo ""
- #pipe the following arguments to openssl req...
- echo -e "US\nWashington\nSeattle\nwolfSSL Inc.\nEngineering\nServer 1-0 CA\ninfo@wolfssl.com\n.\n.\n" | openssl req -new -key ../server-key.pem -nodes -sha1 > server-1-0-ca-req.pem
- openssl x509 -req -in server-1-0-ca-req.pem -extfile ../renewcerts/wolfssl.cnf -extensions pathlen_0 -days 1000 -CA server-1-ca.pem -CAkey ../server-key.pem -set_serial 103 -sha1 > server-1-0-ca.pem
- rm server-1-0-ca-req.pem
- openssl x509 -in server-1-0-ca.pem -text > ca_tmp.pem
- mv ca_tmp.pem server-1-0-ca.pem
- ###########################################################
- ########## update server-1-0-cert.pem ################
- ###########################################################
- echo "Updating server-1-0-cert.pem"
- echo ""
- #pipe the following arguments to openssl req...
- echo -e "US\nWashington\nSeattle\nwolfSSL Inc.\nEngineering\nServer 1-0\ninfo@wolfssl.com\n.\n.\n" | openssl req -new -key ../server-key.pem -nodes -sha1 > server-1-0-cert-req.pem
- openssl x509 -req -in server-1-0-cert-req.pem -extfile ../renewcerts/wolfssl.cnf -extensions test_pathlen -days 1000 -CA server-1-0-ca.pem -CAkey ../server-key.pem -set_serial 104 -sha1 > server-1-0-cert.pem
- rm server-1-0-cert-req.pem
- openssl x509 -in server-1-0-cert.pem -text > cert_tmp.pem
- mv cert_tmp.pem server-1-0-cert.pem
- ###########################################################
- ########## update server-127-ca.pem ################
- ###########################################################
- echo "Updating server-127-ca.pem"
- echo ""
- #pipe the following arguments to openssl req...
- echo -e "US\nWashington\nSeattle\nwolfSSL Inc.\nEngineering\nServer 127 CA\ninfo@wolfssl.com\n.\n.\n" | openssl req -new -key ../server-key.pem -nodes -sha1 > server-127-ca-req.pem
- openssl x509 -req -in server-127-ca-req.pem -extfile ../renewcerts/wolfssl.cnf -extensions pathlen_127 -days 1000 -CA ../ca-cert.pem -CAkey ../ca-key.pem -set_serial 106 -sha1 > server-127-ca.pem
- rm server-127-ca-req.pem
- openssl x509 -in server-127-ca.pem -text > ca_tmp.pem
- mv ca_tmp.pem server-127-ca.pem
- ###########################################################
- ########## update server-127-cert.pem ################
- ###########################################################
- echo "Updating server-127-cert.pem"
- echo ""
- #pipe the following arguments to openssl req...
- echo -e "US\nWashington\nSeattle\nwolfSSL Inc.\nEngineering\nServer 127\ninfo@wolfssl.com\n.\n.\n" | openssl req -new -key ../server-key.pem -nodes -sha1 > server-127-cert-req.pem
- openssl x509 -req -in server-127-cert-req.pem -extfile ../renewcerts/wolfssl.cnf -extensions test_pathlen -days 1000 -CA server-127-ca.pem -CAkey ../server-key.pem -set_serial 107 -sha1 > server-127-cert.pem
- rm server-127-cert-req.pem
- openssl x509 -in server-127-cert.pem -text > cert_tmp.pem
- mv cert_tmp.pem server-127-cert.pem
- ###########################################################
- ########## update server-128-ca.pem ################
- ###########################################################
- echo "Updating server-128-ca.pem"
- echo ""
- #pipe the following arguments to openssl req...
- echo -e "US\nWashington\nSeattle\nwolfSSL Inc.\nEngineering\nServer 128 CA\ninfo@wolfssl.com\n.\n.\n" | openssl req -new -key ../server-key.pem -nodes -sha1 > server-128-ca-req.pem
- openssl x509 -req -in server-128-ca-req.pem -extfile ../renewcerts/wolfssl.cnf -extensions pathlen_128 -days 1000 -CA ../ca-cert.pem -CAkey ../ca-key.pem -set_serial 106 -sha1 > server-128-ca.pem
- rm server-128-ca-req.pem
- openssl x509 -in server-128-ca.pem -text > ca_tmp.pem
- mv ca_tmp.pem server-128-ca.pem
- ###########################################################
- ########## update server-128-cert.pem ################
- ###########################################################
- echo "Updating server-128-cert.pem"
- echo ""
- #pipe the following arguments to openssl req...
- echo -e "US\nWashington\nSeattle\nwolfSSL Inc.\nEngineering\nServer 128\ninfo@wolfssl.com\n.\n.\n" | openssl req -new -key ../server-key.pem -nodes -sha1 > server-128-cert-req.pem
- openssl x509 -req -in server-128-cert-req.pem -extfile ../renewcerts/wolfssl.cnf -extensions test_pathlen -days 1000 -CA server-128-ca.pem -CAkey ../server-key.pem -set_serial 107 -sha1 > server-128-cert.pem
- rm server-128-cert-req.pem
- openssl x509 -in server-128-cert.pem -text > cert_tmp.pem
- mv cert_tmp.pem server-128-cert.pem
- ###########################################################
- ########## Assemble Chains ################
- ###########################################################
- # Success: PathLen of 0
- ## server-0-ca.pem: signed by ca-cert.pem
- ## server-0-cert.pem: signed by server-0-ca.pem
- cat server-0-cert.pem server-0-ca.pem > server-0-chain.pem
- # Success: PathLen of 1
- ## server-1-ca.pem: signed by ca-cert.pem
- ## server-1-0-ca.pem: signed by server-1-ca.pem
- ## server-1-0-cert.pem: signed by server-1-0-ca.pem
- cat server-1-0-cert.pem server-1-0-ca.pem server-1-ca.pem > server-1-0-chain.pem
- ## server-1-cert.pem: signed by server-1-ca.pem
- cat server-1-cert.pem server-1-ca.pem > server-1-chain.pem
- # Success: PathLen of 127
- ## server-127-ca.pem: signed by ca-cert.pem
- ## server-127-cert.pem: signed by server-127-cert.pem
- cat server-127-cert.pem server-127-ca.pem > server-127-chain.pem
- # Failure: PathLen of 128
- ## server-128-ca.pem: signed by ca-cert.pem
- ## server-128-cert.pem: signed by server-128-ca.pem
- cat server-128-cert.pem server-128-ca.pem > server-128-chain.pem
- # Failure: PathLen of 0, signing PathLen of 1
- ## server-0-1-ca.pem: signed by server-0-ca.pem
- ## server-0-1-cert.pem: signed by server-0-1-ca.pem
- cat server-0-1-cert.pem server-0-1-ca.pem server-0-ca.pem > server-0-1-chain.pem
|