steffen: server/kolab/kolab kolab_ca.sh,1.4,1.5

cvs at intevation.de cvs at intevation.de
Fri Jul 9 02:58:21 CEST 2004


Author: steffen

Update of /kolabrepository/server/kolab/kolab
In directory doto:/tmp/cvs-serv4624/kolab

Modified Files:
	kolab_ca.sh 
Log Message:
fix for issue233

Index: kolab_ca.sh
===================================================================
RCS file: /kolabrepository/server/kolab/kolab/kolab_ca.sh,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- kolab_ca.sh	8 Jul 2004 02:13:50 -0000	1.4
+++ kolab_ca.sh	9 Jul 2004 00:58:18 -0000	1.5
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!@l_prefix@/lib/openpkg/bash
 ##
 ##  Copyright (c) 2004  Klaraelvdalens Datakonsult AB
 ##   Written by Steffen Hansen <steffen at klaralvdalens-datakonsult.se>
@@ -27,8 +27,8 @@
 
 # Config
 function createconf() {
-local hostname=$1
-echo "Using fqdn $hostname"
+local DNAME=$1
+echo "Using dn $hostname"
 #if [ ! -d "$PREFIX/etc/kolab/ca" ]; then
 #    mkdir $PREFIX/etc/kolab/ca
 #fi
@@ -51,8 +51,9 @@
 #L = 
 #O = 
 #OU = 
-CN = $hostname
+#CN = 
 #emailAddress = 
+$DNAME
 
 [ v3_req ]
 basicConstraints = CA:TRUE
@@ -115,7 +116,7 @@
 # the certificate can be used for anything *except* object signing.
 
 # This is OK for an SSL server.
-# nsCertType                    = server
+# nsCertType = server
 
 # For an object signing certificate this would be used.
 # nsCertType = objsign
@@ -139,16 +140,22 @@
 EOF
 }
 
-appname=$0
+function readinput() {
+    local p=$1
+    local d=$2
+    read -ep "$p [$d]: " value
+    if [ -z "$value" ]; then
+	    value="$d"
+    fi
+}
 
+appname=$0
 while [ $# -gt 0 ]; do
 case $1 in
 -h|-help|--help)
-    echo "Usage: $appname {-newca hostname|-newreq hostname [keyfile] [certfile]|-sign [filename]|-verify [filename]|-help}"
+    echo "Usage: $appname {-newca hostname [organization organizational-unit]|-newreq hostname [keyfile] [certfile]|-sign [filename]|-verify [filename]|-help}"
     ;;
 -newca)
-    createconf $2
-    shift
     if [ ! -f ${CATOP}/serial ]; then
         # create the directory hierarchy
         mkdir ${CATOP}
@@ -160,6 +167,28 @@
         touch ${CATOP}/index.txt
     fi
     if [ ! -f ${CATOP}/private/$CAKEY ]; then
+	cn=$2
+	shift
+	if [ -n "$2" ]; then
+	    o=$2
+	    shift
+	else
+	    readinput "Enter organization name" "Kolab"
+	    o=$value
+	fi
+	if [ -n "$2" ]; then
+	    ou=$2
+	    shift
+	else
+	    readinput "Enter organizational unit" "Test-CA"
+	    ou=$value
+	fi
+	shift
+	echo "Using subject O=$o,OU=$ou,CN=$cn";
+	createconf "O=$o
+OU=$ou
+CN=$cn"
+
         echo "CA certificate filename (or enter to create)"
         read FILE
 
@@ -177,7 +206,7 @@
     ;;
 -newkey)
     # create a new priv. key
-    createconf $2
+    createconf "CN=$2"
     keyfile=key.pem
     if [ -n "$3" ]; then
 	keyfile=$3
@@ -189,7 +218,7 @@
     ;;
 -newreq)
     # create a certificate request
-    createconf $2
+    createconf "CN=$2"
     reqfile=newreq.pem
     if [ -n "$3" ]; then
 	keyfile=$3





More information about the commits mailing list