generate_test_certs.sh 804 B

123456789101112131415161718192021
  1. #!/bin/bash
  2. # https://www.postgresql.org/docs/current/ssl-tcp.html#SSL-CERTIFICATE-CREATION
  3. DATADIR=test/data
  4. ROOT_SUBJ="/CN=epgsql CA"
  5. EPGSQL_SUBJ="/CN=epgsql_test_cert"
  6. set -x
  7. # generate root key
  8. openssl genrsa -out ${DATADIR}/root.key 2048
  9. # generate root cert
  10. openssl req -new -x509 -text -days 3650 -key ${DATADIR}/root.key -out ${DATADIR}/root.crt -subj "$ROOT_SUBJ"
  11. # generate client/server key
  12. openssl genrsa -out ${DATADIR}/epgsql.key 2048
  13. # generate client/server signature request
  14. openssl req -new -key ${DATADIR}/epgsql.key -out ${DATADIR}/epgsql.csr -subj "$EPGSQL_SUBJ"
  15. # create signed client/server cert
  16. openssl x509 -req -text -days 3650 -in ${DATADIR}/epgsql.csr -CA ${DATADIR}/root.crt -CAkey ${DATADIR}/root.key -CAcreateserial -out ${DATADIR}/epgsql.crt
  17. rm ${DATADIR}/*.{csr,srl}