| #!/bin/sh |
| |
| # As explained in |
| # https://gist.github.com/darrenjs/4645f115d10aa4b5cebf57483ec82eca |
| |
| openssl genrsa -des3 -passout pass:xxxx -out server.pass.key 2048 |
| openssl rsa -passin pass:xxxx -in server.pass.key -out server.key |
| rm -f server.pass.key |
| |
| openssl req \ |
| -subj "/C=US/ST=California/L=Santa Clara/O=Beyond Aggravated/CN=localhost" \ |
| -new -key server.key -out server.csr |
| |
| openssl x509 -req -sha256 -days 99999 -in server.csr -signkey server.key -out server.crt |
| rm -f server.csr |
| |
| # Now create the list of certificates we trust as a client. |
| |
| rm trusted.pem |
| |
| # For now we just trust our own server. |
| openssl x509 -in server.crt -text >> trusted.pem |
| |
| # Also add the system standard CA cert chain. |
| # cat /opt/local/etc/openssl/cert.pem >> trusted.pem |
| |
| # Convert .pem to .der |
| # openssl x509 -outform der -in trusted.pem -out trusted.der |
| |
| # Convert .crt and .key to .p12 for use by Security.framework |
| # Enter password "foo"! |
| openssl pkcs12 -export -inkey server.key -in server.crt -name localhost -out server.p12 |