File tree Expand file tree Collapse file tree 1 file changed +48
-0
lines changed Expand file tree Collapse file tree 1 file changed +48
-0
lines changed Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+
3
+ BASE_PATH=$( cd " ` dirname $0 ` /../test/fixtures/ca" && pwd )
4
+ cd " ${BASE_PATH} " || exit 4
5
+
6
+ USAGE=$( cat << EOS
7
+ Usage:
8
+ $0 --regenerate
9
+
10
+ Generates a new self-signed CA, for integration testing. This should only need
11
+ to be run if you are writing new TLS/SSL tests, and need to generate
12
+ additional fixtuer CAs.
13
+
14
+ This script uses the GnuTLS certtool CLI. If you are on macOS,
15
+ 'brew install gnutls', and it will be installed as 'gnutls-certtool'.
16
+ Apple unfortunately ships with an incompatible /usr/bin/certtool that does
17
+ different things.
18
+ EOS
19
+ )
20
+
21
+ if [ " x$1 " != ' x--regenerate' ]; then
22
+ echo " ${USAGE} "
23
+ exit 1
24
+ fi
25
+
26
+ TOOL=` type -p certtool`
27
+ if [ " $( uname) " = " Darwin" ]; then
28
+ TOOL=` type -p gnutls-certtool`
29
+ if [ ! -x " ${TOOL} " ]; then
30
+ echo " Sorry, Darwin requires gnutls-certtool; try ` brew install gnutls` "
31
+ exit 2
32
+ fi
33
+ fi
34
+
35
+ if [ ! -x " ${TOOL} " ]; then
36
+ echo " Sorry, no certtool found!"
37
+ exit 3
38
+ fi
39
+ export TOOL
40
+
41
+
42
+ ${TOOL} --generate-privkey > ./cakey.pem
43
+ ${TOOL} --generate-self-signed \
44
+ --load-privkey ./cakey.pem \
45
+ --template ./ca.info \
46
+ --outfile ./cacert.pem
47
+
48
+ echo " cert and private key generated! Don't forget to check them in"
You can’t perform that action at this time.
0 commit comments