]> ruderich.org/simon Gitweb - tlsproxy/tlsproxy.git/blobdiff - src/tlsproxy-setup
Update copyright year.
[tlsproxy/tlsproxy.git] / src / tlsproxy-setup
index a9e440b74f4a47c4db8dbddcfcf97de659cf0a41..ba71e56c127381df0dc8351cd2316f15ee09b702 100755 (executable)
@@ -4,7 +4,7 @@
 #
 # Requires certtool (from GnuTLS).
 #
-# Copyright (C) 2011-2013  Simon Ruderich
+# Copyright (C) 2011-2014  Simon Ruderich
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 
 set -e
 
+
+if test "$#" -ge 1 && test x"$*" != 'x--force'; then
+    echo "Usage: $0 [--force]" >&2
+    exit 1
+fi
+
+# Prevent accidental overwrites.
+if test x"$1" != 'x--force'; then
+    for x in proxy-ca-key.pem proxy-ca.pem \
+             proxy-key.pem proxy-invalid.pem proxy-dh.pem; do
+        if test -f "$x"; then
+            echo "File '$x' already exists. Use --force to overwrite." >&2
+            exit 2
+        fi
+    done
+fi
+
+
 tempfile=`mktemp`
 trap 'rm -f "$tempfile"' EXIT
 
 # Generate proxy CA key file.
 certtool --generate-privkey \
+         --sec-param high \
          --outfile proxy-ca-key.pem
 # Generate proxy CA.
 echo 'cn = tlsproxy CA' > "$tempfile"
@@ -40,6 +59,7 @@ certtool --generate-self-signed \
 
 # Generate proxy key file.
 certtool --generate-privkey \
+         --sec-param high \
          --outfile proxy-key.pem
 
 # Generate proxy "invalid" server certificate. It's used for problematic
@@ -57,4 +77,9 @@ certtool --generate-self-signed \
 
 rm "$tempfile"
 
+# Generate proxy Diffie-Hellman parameters.
+certtool --generate-dh-params \
+         --sec-param high \
+         --outfile proxy-dh.pem
+
 echo done