(List (FunctionDef try [] (List (Com {[LIT_CHARS echo]} {[DQ [VarSub @]]}) (AndOr OP_OR_IF (Com {[DQ [VarSub @]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) ) (Com {[LIT_CHARS try]} {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[LIT_CHARS out]}) (Com {[LIT_CHARS try]} {[LIT_CHARS mkdir]} {[LIT_CHARS out]}) (Com {[LIT_CHARS echo]} {[LIT_CHARS Create]} {[LIT_CHARS the]} {[LIT_CHARS serial]} {[LIT_CHARS number]} {[LIT_CHARS and]} {[LIT_CHARS index]} {[LIT_CHARS files.]}) (Com {[LIT_CHARS try]} {[LIT_CHARS /bin/sh]} {[LIT_CHARS -c]} {[DQ [LIT_CHARS "echo 01 > out/B-serial"]]}) (Com {[LIT_CHARS try]} {[LIT_CHARS touch]} {[LIT_CHARS out/B-index.txt]}) (Com {[LIT_CHARS echo]} {[LIT_CHARS Generate]} {[LIT_CHARS the]} {[LIT_CHARS keys.]}) (Com {[LIT_CHARS try]} {[LIT_CHARS openssl]} {[LIT_CHARS genrsa]} {[LIT_CHARS -out]} {[LIT_CHARS out/A.key]} {[LIT_CHARS 2048]}) (Com {[LIT_CHARS try]} {[LIT_CHARS openssl]} {[LIT_CHARS genrsa]} {[LIT_CHARS -out]} {[LIT_CHARS out/B.key]} {[LIT_CHARS 2048]}) (Com {[LIT_CHARS echo]} {[LIT_CHARS Generate]} {[LIT_CHARS the]} {[LIT_CHARS B]} {[LIT_CHARS CSR.]}) (Com {[LIT_CHARS try]} {[LIT_CHARS openssl]} {[LIT_CHARS req]} {[LIT_CHARS -new]} {[LIT_CHARS -key]} {[LIT_CHARS out/B.key]} {[LIT_CHARS -out]} {[LIT_CHARS out/B.csr]} {[LIT_CHARS -config]} {[LIT_CHARS redundant-ca.cnf]} more_env=[('CA_COMMON_NAME', {[DQ [LIT_CHARS "B Root CA"]]}), ('CERTIFICATE', {[LIT_CHARS B]})] ) (Com {[LIT_CHARS echo]} {[LIT_CHARS B]} {[LIT_CHARS signs]} {[LIT_CHARS itself.]}) (Com {[LIT_CHARS try]} {[LIT_CHARS openssl]} {[LIT_CHARS x509]} {[LIT_CHARS -req]} {[LIT_CHARS -days]} {[LIT_CHARS 3650]} {[LIT_CHARS -in]} {[LIT_CHARS out/B.csr]} {[LIT_CHARS -extfile]} {[LIT_CHARS redundant-ca.cnf]} {[LIT_CHARS -extensions]} {[LIT_CHARS ca_cert]} {[LIT_CHARS -signkey]} {[LIT_CHARS out/B.key]} {[LIT_CHARS -out]} {[LIT_CHARS out/B.pem]} more_env=[('CA_COMMON_NAME', {[DQ [LIT_CHARS "B Root CA"]]})] ) (Com {[LIT_CHARS echo]} {[LIT_CHARS Generate]} {[LIT_CHARS the]} {[LIT_CHARS A1]} {[LIT_CHARS end-entity]} {[LIT_CHARS CSR.]}) (Com {[LIT_CHARS try]} {[LIT_CHARS openssl]} {[LIT_CHARS req]} {[LIT_CHARS -new]} {[LIT_CHARS -key]} {[LIT_CHARS out/A.key]} {[LIT_CHARS -out]} {[LIT_CHARS out/A1.csr]} {[LIT_CHARS -config]} {[LIT_CHARS ee.cnf]} more_env=[('SUBJECT_NAME', {[LIT_CHARS req_duplicate_cn_1]})] ) (Com {[LIT_CHARS echo]} {[LIT_CHARS Generate]} {[LIT_CHARS the]} {[LIT_CHARS A2]} {[LIT_CHARS end-entity]} {[LIT_CHARS CSR]}) (Com {[LIT_CHARS try]} {[LIT_CHARS openssl]} {[LIT_CHARS req]} {[LIT_CHARS -new]} {[LIT_CHARS -key]} {[LIT_CHARS out/A.key]} {[LIT_CHARS -out]} {[LIT_CHARS out/A2.csr]} {[LIT_CHARS -config]} {[LIT_CHARS ee.cnf]} more_env=[('SUBJECT_NAME', {[LIT_CHARS req_duplicate_cn_2]})] ) (Com {[LIT_CHARS echo]} {[LIT_CHARS B]} {[LIT_CHARS signs]} {[LIT_CHARS A1.]}) (Com {[LIT_CHARS try]} {[LIT_CHARS openssl]} {[LIT_CHARS ca]} {[LIT_CHARS -batch]} {[LIT_CHARS -extensions]} {[LIT_CHARS user_cert]} {[LIT_CHARS -in]} {[LIT_CHARS out/A1.csr]} {[LIT_CHARS -out]} {[LIT_CHARS out/A1.pem]} {[LIT_CHARS -config]} {[LIT_CHARS redundant-ca.cnf]} more_env=[('CA_COMMON_NAME', {[DQ [LIT_CHARS "B CA"]]}), ('CERTIFICATE', {[LIT_CHARS B]})] ) (Com {[LIT_CHARS echo]} {[LIT_CHARS B]} {[LIT_CHARS signs]} {[LIT_CHARS A2.]}) (Com {[LIT_CHARS try]} {[LIT_CHARS openssl]} {[LIT_CHARS ca]} {[LIT_CHARS -batch]} {[LIT_CHARS -extensions]} {[LIT_CHARS user_cert]} {[LIT_CHARS -in]} {[LIT_CHARS out/A2.csr]} {[LIT_CHARS -out]} {[LIT_CHARS out/A2.pem]} {[LIT_CHARS -config]} {[LIT_CHARS redundant-ca.cnf]} more_env=[('CA_COMMON_NAME', {[DQ [LIT_CHARS "B CA"]]}), ('CERTIFICATE', {[LIT_CHARS B]})] ) (Com {[LIT_CHARS echo]} {[LIT_CHARS Exporting]} {[LIT_CHARS the]} {[LIT_CHARS certificates]} {[LIT_CHARS to]} {[LIT_CHARS PKCS] [LIT_POUND "#"] [LIT_CHARS 12]}) (Com {[LIT_CHARS try]} {[LIT_CHARS openssl]} {[LIT_CHARS pkcs12]} {[LIT_CHARS -export]} {[LIT_CHARS -inkey]} {[LIT_CHARS out/A.key]} {[LIT_CHARS -in]} {[LIT_CHARS out/A1.pem]} {[LIT_CHARS -out]} {[LIT_CHARS ../certificates/duplicate_cn_1.p12]} {[LIT_CHARS -passout]} {[LIT_CHARS pass] [LIT_OTHER ":"] [LIT_CHARS chrome]}) (Com {[LIT_CHARS try]} {[LIT_CHARS openssl]} {[LIT_CHARS pkcs12]} {[LIT_CHARS -export]} {[LIT_CHARS -inkey]} {[LIT_CHARS out/A.key]} {[LIT_CHARS -in]} {[LIT_CHARS out/A2.pem]} {[LIT_CHARS -out]} {[LIT_CHARS ../certificates/duplicate_cn_2.p12]} {[LIT_CHARS -passout]} {[LIT_CHARS pass] [LIT_OTHER ":"] [LIT_CHARS chrome]}) (Com {[LIT_CHARS try]} {[LIT_CHARS cp]} {[LIT_CHARS out/A1.pem]} {[LIT_CHARS ../certificates/duplicate_cn_1.pem]}) (Com {[LIT_CHARS try]} {[LIT_CHARS cp]} {[LIT_CHARS out/A2.pem]} {[LIT_CHARS ../certificates/duplicate_cn_2.pem]}) )