| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 | #!/bin/shrm -rf index newcerts/*.pem serial *.req *.key *.crt crl.prmtouch indexecho "01" > serialPASSWORD=PolarSSLTestecho "Generating CA"cat sslconf.txt > sslconf_use.txt echo "CN=PolarSSL Test CA" >> sslconf_use.txtopenssl req -config sslconf_use.txt -days 3653 -x509 -newkey rsa:2048 \            -set_serial 0 -text -keyout test-ca.key -out test-ca.crt \	    -passout pass:$PASSWORDecho "Generating rest"openssl genrsa -out server1.key 2048openssl genrsa -out server2.key 2048openssl genrsa -out client1.key 2048openssl genrsa -out client2.key 2048openssl genrsa -out cert_digest.key 2048echo "Generating requests"cat sslconf.txt > sslconf_use.txt;echo "CN=PolarSSL Server 1" >> sslconf_use.txtopenssl req -config sslconf_use.txt -new -key server1.key -out server1.reqcat sslconf.txt > sslconf_use.txt;echo "CN=localhost" >> sslconf_use.txtopenssl req -config sslconf_use.txt -new -key server2.key -out server2.reqcat sslconf.txt > sslconf_use.txt;echo "CN=PolarSSL Client 1" >> sslconf_use.txtopenssl req -config sslconf_use.txt -new -key client1.key -out client1.reqcat sslconf.txt > sslconf_use.txt;echo "CN=PolarSSL Client 2" >> sslconf_use.txtopenssl req -config sslconf_use.txt -new -key client2.key -out client2.reqcat sslconf.txt > sslconf_use.txt;echo "CN=PolarSSL Cert MD2" >> sslconf_use.txtopenssl req -config sslconf_use.txt -new -key cert_digest.key -out cert_md2.req -md2cat sslconf.txt > sslconf_use.txt;echo "CN=PolarSSL Cert MD4" >> sslconf_use.txtopenssl req -config sslconf_use.txt -new -key cert_digest.key -out cert_md4.req -md4cat sslconf.txt > sslconf_use.txt;echo "CN=PolarSSL Cert MD5" >> sslconf_use.txtopenssl req -config sslconf_use.txt -new -key cert_digest.key -out cert_md5.req -md5cat sslconf.txt > sslconf_use.txt;echo "CN=PolarSSL Cert SHA1" >> sslconf_use.txtopenssl req -config sslconf_use.txt -new -key cert_digest.key -out cert_sha1.req -sha1cat sslconf.txt > sslconf_use.txt;echo "CN=PolarSSL Cert SHA224" >> sslconf_use.txtopenssl req -config sslconf_use.txt -new -key cert_digest.key -out cert_sha224.req -sha224cat sslconf.txt > sslconf_use.txt;echo "CN=PolarSSL Cert SHA256" >> sslconf_use.txtopenssl req -config sslconf_use.txt -new -key cert_digest.key -out cert_sha256.req -sha256cat sslconf.txt > sslconf_use.txt;echo "CN=PolarSSL Cert SHA384" >> sslconf_use.txtopenssl req -config sslconf_use.txt -new -key cert_digest.key -out cert_sha384.req -sha384cat sslconf.txt > sslconf_use.txt;echo "CN=PolarSSL Cert SHA512" >> sslconf_use.txtopenssl req -config sslconf_use.txt -new -key cert_digest.key -out cert_sha512.req -sha512echo "Signing requests"for i in server1 server2 client1 client2;do  openssl ca -config sslconf.txt -out $i.crt -passin pass:$PASSWORD \	-batch -in $i.reqdonefor i in md2 md4 md5 sha1 sha224 sha256 sha384 sha512;do  openssl ca -config sslconf.txt -out cert_$i.crt -passin pass:$PASSWORD \	-batch -in cert_$i.req -md $idoneecho "Revoking firsts"openssl ca -batch -config sslconf.txt -revoke server1.crt -passin pass:$PASSWORDopenssl ca -batch -config sslconf.txt -revoke client1.crt -passin pass:$PASSWORDopenssl ca -batch -config sslconf.txt -gencrl -out crl.pem -passin pass:$PASSWORDfor i in md2 md4 md5 sha1 sha224 sha256 sha384 sha512;do  openssl ca -batch -config sslconf.txt -gencrl -out crl_$i.pem -md $i -passin pass:$PASSWORDdoneecho "Verifying second"openssl x509 -in server2.crt -text -nooutcat test-ca.crt crl.pem > ca_crl.pemopenssl verify -CAfile ca_crl.pem -crl_check server2.crtrm ca_crl.pemecho "Generating PKCS12"openssl pkcs12 -export -in client2.crt -inkey client2.key \                      -out client2.pfx -passout pass:$PASSWORDrm *.old *.req sslconf_use.txt
 |